用C++编写一个程序,从键盘接受一个字符串,按照字符从小到大的顺序排序,并删除相同的字符

来源:百度知道 编辑:UC知道 时间:2024/06/24 18:56:39

//这个问题太适合使用桶排序了
//注:只处理ASCII码
#include<iostream>
#include<string.h>
using namespace std;

void initial(int data[],int length){
for(int i=0;i<length;i++)data[i]=0;
}

int main(){
char str[10000];
int reg[128];//ASCII码的最大编码是126,所以大小为128足够了
int str_length;//输入的字符串的长度
cin>>str;
str_length=strlen(str);
initial(reg,128);
for(int i=0;i<str_length;i++){
if(str[i]==27||(str[i]>=32&&str[i]<=126)){//具体察看ASCII码表
reg[str[i]]=1;
}
}
for(int j=27;j<=126;j++){
if(reg[j]==1)cout<<(char)j;
}
getchar();//暂停程序
cin.get();//暂停,以便查看结果,可去掉这两行
return 0;
}