|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
源代码如下:
#include<stdio.h>
#include<string.h>
void main()
{
void sort(char *name[], int n);
void print(char *name[], int n);
char *name[] = {"Fishc.com","www.fishc.com","home.fhishc.com","Fuck you!","Thank you!"};
int n = 5;
sort(name, n);
print(name, n);
}
void sort(char *name[], int n)
{
char *temp;
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)
{
temp = name[i];
name[i] = name[k];
name[k] = temp;
}
}
}
}
void print(char *name[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("%s\n", name[i]);
}
}
我看不懂的地方就是自定义的sort函数里的这一段:
if(k != i)
{
temp = name[i];
name[i] = name[k];
name[k] = temp;
}
这里的(k != i)是起的什么作用呢?
if(strcmp(name[k], name[j]) > 0)
{
k = j;
}
|
|