将字符串变为int类,并且排序输出

例如:String str="97,16,36,18,50"

结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
快速排序是一种常用的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。对于C语言中的字符串快速排序,可以使用strcmp()函数来比较字符串的大小,具体实现方法如下: 1. 首先定义一个一维数组的指针,用来存储需要排序字符串。 2. 定义一个quick()函数,传入的参数为字符串数组指针、开始下标和结束下标。 3. 在quick()函数中,设置基准数x为num[start],即第一个字符串。 4. 从右向左遍历数组,如果发现比基准数小的就把他放到基准数位置,然后i向后走一个;从左向右遍历数组,如果发现比基准数大的就把他放到上面空出来的j的位置,然后j向前走一个。 5. 当i==j时,把基准数放到此位置,就此实现了基准数左边比他小,基准数右边比他大的结果了。 6. 在i的左边再次调用quick()函数,在i的右端再次调用quick()函数。 7. 最后输出排序后的字符串数组。 下面是一个示例代码: ``` void quick(char *num[],int start, int finish)//传的是一维数组指针 { if(start<finish) { int i=start,j=finish; char *x=num[start];//x变成字符串 while(i<j) { while(i<j&&strcmp(num[j],x)>0)//比较字符串用strcmp()函数 j--; if(i<j) { num[i]=num[j]; i++; } while(i<j&&strcmp(num[i],x)<0)// i++; i++; if(i<j) { num[j]=num[i]; j--; } } num[i]=x; quick(num,start,i-1); quick(num,i+1,finish); } } int main() { char* str[8]={"CHINA","JAPAN","KOBEA","USA","RUSSIA","UK","FRANCE","AUS"};//设置个一维数组的指针 int i; printf("排序前:"); for(i=0;i<8;i++) printf("%s " ,str[i]);//字符串的出 putchar('\n'); quick(str,0,7);//调用,不要下标越位 printf("排序后;"); for(i=0;i<8;i++) printf("%s ",str[i]); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值