| 查看: 341 | 回复: 2 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】求助一算法程序
|
|||
|
给一个字符数组{’c’,’a’,’d’,’e’,’b’,’h’}按字母表顺序排序,并输出排序前和排序后的结果。 请教各位老师和同学,这个程序该如何编写,非常感谢您的帮助! |
» 猜你喜欢
博士自荐
已经有6人回复
博士推荐
已经有4人回复
求环氧树脂研发1名
已经有10人回复
280求调剂
已经有5人回复
什么是人一生最重要的?
已经有10人回复
面上可以超过30页吧?
已经有13人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有13人回复
版面费该交吗
已经有17人回复
【博士招生】太原理工大学2026化工博士
已经有8人回复
formleaf
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 贵宾: 1.097
- 金币: 3383.1
- 散金: 2780
- 红花: 3
- 帖子: 991
- 在线: 69.6小时
- 虫号: 698652
- 注册: 2009-02-09
- 性别: GG
- 专业: 组合数学
一个简单的排序算法,但效率不高
★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
mgflyx_001(金币+1,VIP+0):谢谢热心帮助! 12-22 14:52
小木虫(金币+0.5):给个红包,谢谢回帖交流
mgflyx_001(金币+1,VIP+0):谢谢热心帮助! 12-22 14:52
|
#include using namespace std; void csort(char *s,int n) { char c; int t; for(int i=0; i c=s; for(int j=i+1; j if(s[j] s[t]=s; s=c; } } int main() { char s[]={'c','a','d','e','b','h','\0'}; cout << s << endl; csort(s,6); cout << s << endl; return 0; } |
2楼2009-12-22 12:54:20
★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
无奈的云(金币+1):谢谢热心解答! 2010-02-03 14:40
小木虫(金币+0.5):给个红包,谢谢回帖交流
无奈的云(金币+1):谢谢热心解答! 2010-02-03 14:40
|
与数字的排序方法一样,把int类型改为char类型 以下是C语言权威《TheCProgrammingLanguage》中的例程,在这个例程中,对于数组v的left到right号元素以递增顺序排序。 intarr[]={14,10,11,5,6,15,0,15,16,14,0,8,17,15,7,19,17,1,18,7}; /*swap函数:交换v与v[j]的值*/ inlinevoidswap(intv[],inti,intj) { inttemp; temp=v; v=v[j]; v[j]=temp; } voidqsort(intv[],intleft,intright) { inti,last; voidswap(intv[],inti,intj); if(left>=right)/*若数组包含的元素个数少于两个*/ return;/*则不执行任何操作*/ swap(v,left,(left right)/2);/*将划分子集的元素*/ last=left;/*移动到v[0]*/ for(i=left 1;i<=right;i )/*划分子集*/ if(vswap(v, last,i); swap(v,left,last);/*恢复划分的元素*/ qsort(v,left,last-1); qsort(v,last 1,right); } intmain(){ qsort(arr,0,19); inti; for(i=0;i<=19;printf("%d",arr[i ])); scanf("\n" ;} |
3楼2010-02-03 13:48:11













回复此楼
;