任意输入一个字符串,将其中的字符按照ASCII码值从小到大重新排序 |
您所在的位置:网站首页 › ascll码值从小到大排列顺 › 任意输入一个字符串,将其中的字符按照ASCII码值从小到大重新排序 |
任意输入一个字符串,将其中的字符按照ASCII码值从小到大重新排序 例如: 给出:dbca 结果:abcd 这次使用非比较排序来对字符串进行重新排序 ASCII码的值为0~255,那么我们可以开辟一个大小为256的数组,用它来保存字符出现的次数,然后根据array的值为字符出现的次数,array的下标则为该字符的ASCII值,只要根据array的值和array的下标输出就好。 #include #include //记录字符出现的次数 void CharSort(int* array,char* str,int size) { int i = 0; for(i = 0; i < size; i++) { array[str[i]]++;//字符出现的次数 } } void Print(int* array, int size) { int i = 0; for(i = 0; i < 255; i++) { while(array[i]--) printf("%c",i); } printf("\n"); } int main() { int array1[255]={0}; char* str = "dbcdsfgdfga"; int size = strlen(str); CharSort(array1,str,size); Print(array1,size); return 0; }运行结果如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |