代码如下:
void quiksort(keytype k[],int s,int t)
{
int i,j;
if(s<t){
i=s;
j=t+1;
while(1){
do i++;
while(k[i]<k[s]&&i!=t); /*重复执行i++操作*/
do j--;
while(k[j]>k[s]&&j!=s); /*重复执行j--*/
if(i<j)
swap(k[i],k[j]); /*交换k[i]和k[j]的位置*/
else
break; }
swap(k[s],k[i]);
quicksort(k,s,j-1);
quicksort(k,j+1,t);
}
}
}
其中的while(1)是什么意思?
c 语言中: 1 表示逻辑值真, 0 表 逻辑值假,while(1) 小括号里,一般写逻辑表达式。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;
执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。