| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1501 人关注过本帖
标题:C先排序字符串在删除重复的字符串
只看楼主 加入收藏
IOS小菜鸟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-11-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
C先排序字符串在删除重复的字符串
给你一个字符串   例如dade24d4r   最后输出 24aedr   删除重复的字符串并排序。该怎样做,
搜索更多相关主题的帖子: 字符串 
2015-11-05 15:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
先把原串排序,然後遍歷一次,把後面非重複的字符覆蓋前面重複的。

授人以渔,不授人以鱼。
2015-11-05 15:40
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
列表法  无须排序  方便简单

DO IT YOURSELF !
2015-11-05 15:46
IOS小菜鸟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-11-5
收藏
得分:0 
回复 3楼 wp231957
我现在初学者  不懂列表法 可以举下例子吗?
2015-11-05 15:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用边小白在2015-11-5 15:53:20的发言:

嗯,可行。在元素为128的字符数组里根据遍历的字符打标记,输出打标记的数组下标即可。

你又知道字符串的値集衹有128?

授人以渔,不授人以鱼。
2015-11-05 15:57
IOS小菜鸟
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-11-5
收藏
得分:0 
回复 2楼 TonyDeng
排序 我用的冒泡交换法只能做到这里。但是下面还有两个循环,就是删除重复  和输出。实在不知道怎么去写
2015-11-05 15:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用IOS小菜鸟在2015-11-5 15:58:06的发言:

排序 我用的冒泡交换法只能做到这里。但是下面还有两个循环,就是删除重复  和输出。实在不知道怎么去写


排序之後,遍歷排序後的字符串,如果下一個字符跟現在的一樣,就遞進再一個,直到不一樣,把不一樣的放到當前的下一個位置,其實仍然類似冒泡的做法。

要達到輸出的目的,其實有許多辦法:
1.用前面有人說的列表法是最快的,但應該用在字符串的數集比較小的情況下,比如ASCII編碼的字符串是可以的,對諸如Unicode這樣的大字符集(漢字文本)就代價太大了。
2.排序後,直接輸出結果,打印一個字符之後,看下一個是不是跟已輸出的一樣,一樣就跳過,不一樣就輸出。
3.如果題目有附帶要求,要得到最終的字符串,也有兩個途徑,一是結果仍然放在原來的數組中,此時需要如我說的那樣再處理;另一個是直接生成一個新的字符串,此時如2一樣做法。
4.如果不想寫太多雙重循環,可以先像3的後面那樣生成新串,然後把新串複製給舊串。

除2和3的前半截,其餘的方案都要耗用額外的内存。

授人以渔,不授人以鱼。
2015-11-05 16:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用边小白在2015-11-5 17:41:57的发言:

要识别非ascii字符集就有点麻烦,新手还到不了那份上吧,为何非要人做出过高大全呢。

不用識別的,衹是數集大些而已。其實在我看來,今時今日,新手更不應該强化ASCII的概念,這也是我的老生常談了,不想再說,無法挽救。

[此贴子已经被作者于2015-11-5 17:52编辑过]


授人以渔,不授人以鱼。
2015-11-05 17:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
很多問題,都要根據現實環境而定。純粹做題目,尤其是這種小題目,想到什麽辦法,都可以用,沒有一定最好的,因爲不同的方法在不同的場合中有各自的優劣表現,不能一概而論。這也是我經常說光做小題目沒多大用途的原因之一,到綜合題,不會整體考慮才是大問題,一個一個小技巧問題,組合起來就不是那麽回事。看看他們的期末作品就知道了。最糟糕也是這樣,平時總做這些,自以爲懂,結果到大考,其實缺漏太多,那時抱佛腳也沒用。

授人以渔,不授人以鱼。
2015-11-05 17:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 12楼 边小白
我指的是做完就算的思想,指的是做了小題目就算學會的思想。

授人以渔,不授人以鱼。
2015-11-06 10:46
快速回复:C先排序字符串在删除重复的字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017659 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved