C++ 字符串去重排序实例代码

时间:2022-02-28 00:42:36

 C++ 字符串去重排序实例代码

入一个字符串,去掉重复出现的字符,并把剩余的字符串排序输出。

实现代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <string>
using namespace std;
 
void sort(string s)
{
  char tmp[100];
  int len=s.size();
  int count=0,i,j;
  for (i=0;i<len;i++)
  {
   for (j=i+1;j<len;j++)
   {
    if (s[i]==s[j])
    {
     s[j]='0';
    }
   }
 
  }
 
  for (i=0;i<len;i++)
  {
   if (s[i]>='a' && s[i]<='z')
   {
    tmp[count++]=s[i];
   }
  }
 
  //冒泡排序
  for (i=0;i<count;i++)
  {
   for (j=0;j<i;j++)
   {
    char temp;
    if (strcmp(&tmp[j],&tmp[i])>0)
    {
     temp=tmp[j];
     tmp[j]=tmp[i];
     tmp[i]=temp;
    }
   }
  }
 
 
  for (i=0;i<count;i++)
  cout<<tmp[i];
 
  cout<<endl;
}
 
void main()
{
 string s;
 cin>>s;
 sort(s);
}

测试结果,可能想的不周全,欢迎查漏补缺:

 C++ 字符串去重排序实例代码

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/wtyvhreal/article/details/42409343