BEGIN:
1、冒泡排序思想(升序排序):
如 a=[9,6,8,7,5,3]
i=0
第一趟排序:3与5比较,3和5交换位置,a=[9,6,8,7,3,5]; j=len-1
3与7比较,3和7交换位置,a=[9,6,8,3,7,5]; j=len-2
3与8比较,3和8交换位置,a=[9,6,3,8,7,5]; j=len-3
3与6比较,3和6交换位置,a=[9,3,6,8,7,5]; j=len-4
3与9比较,3和9交换位置,a=[3,9,6,8,7,5]; j=len-5=i
第一趟排序结束,此时3在正确的位置上,a=[3,9,6,8,7,5]
i=1
第二趟排序:5与7比较,5和7交换位置,a=[3,9,6,8,5,7]; j=len-1
5与8比较,5和8交换位置,a=[3,9,6,5,8,7]; j=len-2
5与6比较,5和6交换位置,a=[3,9,5,6,8,7]; j=len-3
5与9比较,5和9交换位置,a=[3,5,9,6,8,7]; j=len-4=i
第二趟排序结束,此时3和5在正确的位置上,a=[3,5,9,6,8,7]
i=2
第三趟排序:7与8比较,7和8交换位置,a=[3,5,9,6,7,8]; j=len-1
7与6比较,不用交换位置,a=[3,5,9,6,7,8]; j=len-2
6与9比较,6和9交换位置,a=[3,5,6,9,7,8]; j=len-3=i
第三趟排序结束,此时3、5、6在正确的位置上,a=[3,5,6,9,7,8]
i=3
第四趟排序:8与7比较,不用交换位置,a=[3,5,6,9,7,8]; j=len-1
7与9比较,7和9交换位置,a=[3,5,6,7,9,8]; j=len-2=i
第四趟排序结束,此时3、5、6、7在正确的位置上,a=[3,5,6,7,9,8]
i=4
第五趟排序:8与9比较,8和9交换位置,a=[3,5,6,7,8,9]; j=len-1=i
第五趟排序结束,此时所有数字都在正确的位置上,a=[3,5,6,7,9,8]
冒泡排序结束。
代码:
C语言:
数字冒泡排序
#include<stdio.h>
#字符串冒泡排序
void Bubble(int s[], int len){
int i,j;
for(i=0;i<len-1;i++){
int f=1;
for(j=len-1;j>i;j