●冒泡排序法
1.简要介绍
冒泡排序算法代码段:
for (int i = 0; i < len-1; i++) { int temp; for(int j=len-1;j>i;j--) { if (a[j] > a[i]) { temp = a[j]; a[j ] = a[i]; a[i] = temp; } } }
2.图形化演示
下面以代码程序排序中后五个数为例(从大到小排序),进行一个大致的图形排序理解。
进行第一行中的排序,①不交换②交换③不交换④交换;
进行第二行中的排序,①不换②不换③不换;
进行第三行中的排序,①不交换②不交换;
进行第四行中的排序,①不交换;
第五行排序完成。
3.代码如下
#include<iostream> using namespace std; #define size 10 class bubblesort { public: void bubblesort_1(int a[],int len); void shownumber(); int arr[size]; }; void bubblesort::bubblesort_1(int a[],int len) { int temp; for (int i = 0; i < len-1; i++) { for(int j=len-1;j>i;j--) { if (a[j ] > a[i]) { temp = a[j ]; a[j ] = a[i]; a[i] = temp; } } //测试代码 cout << i + 1 << ":" << " "; for (int k = 0; k < len; k++) { cout << a[k] << " "; } cout << endl; } } void bubblesort::shownumber() { for (int i = 0; i < size; i++) { cout << this->arr[i] << " "; } } void text() { bubblesort bs; for (int i = 0; i < size; i++) { cin >> bs.arr[i]; } bs.bubblesort_1(bs.arr, size); bs.shownumber(); } int main() { text(); }
4.结果如下