#include <iostream> #include <ctime> #include <stdio.h> using namespace std; int main(){ int n = 1; int s[10] = {5,4,3,1,2,8,9,7,0,6}; for(int j = 0; j < 9 - 1; j ++){ for(int i = 0; i < 9 - j - 1; i ++){ if(s[i] > s[i + 1]){ int temp = s[i + 1]; s[i + 1] = s[i]; s[i] = temp; for(int i = 0 ;i < 10;i++) { cout << s[i]; } cout << "——————第"<< n++<<"次交换 " << endl; } } } cout<<"最后结果:"<< endl; for(int i = 0 ;i < 10;i++) { cout << s[i]; } }
运行结果:
4531289706——————第1次交换
4351289706——————第2次交换
4315289706——————第3次交换
4312589706——————第4次交换
4312587906——————第5次交换
4312587096——————第6次交换
3412587096——————第7次交换
3142587096——————第8次交换
3124587096——————第9次交换
3124578096——————第10次交换
3124570896——————第11次交换
1324570896——————第12次交换
1234570896——————第13次交换
1234507896——————第14次交换
1234057896——————第15次交换
1230457896——————第16次交换
1203457896——————第17次交换
1023457896——————第18次交换
0123457896——————第19次交换
最后结果:
0123457896
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。重复地进行这个过程直到整个数列都是有序的。