求高手帮忙解释下这个sort函数,看不懂/*-----------------------------------------------程序L11_4.C功能:将多个字符串按字母顺序输出.--------------------------------------------*/#include #include void sort(char *str[] ,in

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 22:06:45

求高手帮忙解释下这个sort函数,看不懂
/*-----------------------------------------------
程序L11_4.C功能:将多个字符串按字母顺序输出.
--------------------------------------------*/
#include
#include
void sort(char *str[] ,int n)
{
char *temp;
int i,j ,k;
for (i=0;i

这就是个冒泡排序,只不过定义了一个k变量来作为判断条件,strcmp(str[k],str[j])>0为真的话就把j赋值给k,这样k和i肯定不等(因为j是从i+1开始循环的),这样就会发生交换,(排升序还是降序就要看你的strcmp函数的返回值是什么).不过我个人认为这个写这个代码的人是多此一举,要么写个快排或者归并排序,要么老老实实写个冒泡,整些没用的误导青少年.