标题:这两个sort函数什么区别~~~
取消只看楼主
xuxu_c
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-6-11
结帖率:100%
已结贴  问题点数:20 回复次数:2 
这两个sort函数什么区别~~~
程序代码:
#include"string.h"
main(){
void sort(char *name[],int n);
void sort2(char *name[],int n);
void print(char *name[],int n);
static char *name[]={ "CHINA","AMERICA","AUSTRALIA","FRANCE","GERMAN"};
int n=sizeof(name) / sizeof(char   *);
sort2(name,n);
print(name,n);
}
void sort(char *name[],int n){
char *pt;
int i,j,k;
for(i=0;i<n-1;i++){
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[i],name[j])>0)
{
pt=name[i];
name[i]=name[j];
name[j]=pt;
}
}
}
void sort2(char *name[],int n){
char *pt;
int i,j,k;
for(i=0;i<n-1;i++){
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0) k=j;
if(k!=i){
pt=name[i];
name[i]=name[k];
name[k]=pt;
} else{
    printf("i=%d,k=%d\n",i,k);
    }
}
}

void print(char *name[],int n){
int i;
for (i=0;i<n;i++) printf("%s\n",name[i]);  getch();
}
这个sort函数跟sort2函数什么区别,sort2的效率会更高?
有必要在strcmp之后再做一次判断吗????想不通

[ 本帖最后由 xuxu_c 于 2010-6-11 18:18 编辑 ]
搜索更多相关主题的帖子: sort 函数 
2010-06-11 18:09
xuxu_c
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-6-11
得分:0 
为什么要加个变量k啊???
2010-06-11 18:11
xuxu_c
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-6-11
得分:0 
回复 3楼 myhnuhai
sort2的效率会更高?
有必要在strcmp之后再做一次判断吗????
2010-06-12 09:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-310001-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020727 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved