C 之排序演算法(2) 《那些奇怪的演算法》

2021-08-08 14:29:57 字數 1069 閱讀 4462

針對排序演算法,我們先分別實現了氣泡排序和插入排序,其中插入排序實現了4個版本,但其核心都只有一種啦,就是在插入當前元素的時候確保前面已經插入的元素已經排好序了;而氣泡排序呢,則是經過n-1或者n次比較,每次選出最大或最小的元素放到陣列的尾部從右往左一次排放,其實用棧也可以實現哈,下面看看對應的**及其執行結果,更加深入的理解它啦!!!

#include 

#include

using namespace std;

void insertsort_while05(int arr,int n)

arr[j+1]=value;

}}void insertsort_while04(int arr,int n)

arr[j]=value;

}}void insertsort_while03(int arr, int n)

else

}arr[j + 1] = value;

}}void insertsort_while02(int arr, int n)

arr[j] = value;

}}void insertsort_while(int arr, int n)

else

}arr[j + 1] = value;

}}void insertsort_for(int arr, int n)

else

}arr[j + 1] = value;

}}void bubblesort(int arr,int n)}}

}void bubblesort(int arr, int n)

}cout << arr[j] << endl;

}}int main();

insertsort_while03(arr, 8);

//bubblesort(arr, 8);

for (int i = 0; i < 8; i++)

return

0;}

執行結果:

演算法 排序那些事

1 通過比較相鄰兩個元素,把大的元素放在索引大的位置上,這樣比較n 1 i次後,就將最大的元素冒泡到最後面 2 這樣的過程要找n 1次 時間複雜度 最好情況已經排好序o n 最差情況反序o n 2 private static void bubbling int a,int n private st...

演算法之排序2 選擇排序

選擇排序的基本思想 每次選擇出乙個最大 最小 的數,放到最前 最後 其實選擇排序和氣泡排序非常類似,每一次計算都是選出乙個最大 最小 的數,差異在於處理的方式不一樣。第一次選擇 用第乙個數,逐次比對後面的所有的數,把更小的數放在第一位 第二次選擇 用第二個數,逐次比對後面的所有的數,把更小的數放在第...

C 排序演算法之冒泡演算法

1.冒泡演算法 思想 從第乙個數開始,將相鄰兩個數比較,將小的調到前面。效果 第一趟比較,將最大的移到最後乙個位置 第二趟,將次大的移到倒數第二個位置,以此類推,需要做n 1次迴圈。void bubble sort int a,int n 如果用指標的話,一定要注意陣列名是指標常量,不能修改其值,只...