voidshow(int*nums); voidbubbleSort(int*nums); intmain(void){ intnums[]={1,2,3,4,5,6,7,8,9,10}; printf("Your array is \n"); show(nums); printf("After bubblesort,your arrar is \n"); bubbleSort(nums); show(nums); } voidshow(int*nums){ for(inti=0;i<LENGTH;i++){ printf("%3d",*nums++); } printf("\n"); } voidbubbleSort(int*nums){ for(inti=0;i<LENGTH;i++){ for(intj=LENGTH-1;j>i;j--){ if(*(nums+j)>*(nums+j-1)){ inttemp=*(nums+j); *(nums+j)=*(nums+j-1); *(nums+j-1)=temp; } } } }
循环不等式说明:
代码:21-26:
1.在迭代开始之前,数据由A[i+1...n]组成,起始元素是A[i+1],终止元素是A[n]
2.迭代过程中,通过比较相邻的元素,如果后一个>前一个,则交换两个元素的值。结果是该数组中最大的数据一直向前移动.A[J]=当前最大值
3.迭代终止时,j=i,A[i]=为[i,n]的最大值