6種面試排序演算法及排序演算法穩定性

2022-04-01 07:18:00 字數 396 閱讀 8358

演算法穩定性:如果在原序列中,有ri=rj,且排序過後ri和rj的位置保持不變,則說明演算法是穩定的,例如在a[10]=中,經過排序後大5和小5位置互換,則為不穩定演算法,不交換則為穩定演算法。

1.直接插入排序

直接插入排序基本思想是,在乙個陣列array中,初始有序區為array[1],array[2……n]為無序區,從i=2開始直到陣列結束,依次把陣列中的元素插入到有序區array[1……i-1]中.

例如在a[10]=中,有序區為,然後掃瞄i=2的2,判斷後放入有序區有……i=3……array[10]=;

演算法:void insert_sort(int *array,int n)

a[j+1]=temp;}}

希爾排序

std中穩定排序演算法 穩定排序演算法

常用排序演算法?穩定性 穩定排序演算法會讓原本有相等鍵值的紀錄維持相對次序。也就是如果乙個排序演算法是穩定的,當有兩個相等鍵值的紀錄r和s,且在原本的列表中r出現在s之前,在排序過的列表中r也將會是在s之前。氣泡排序演算法 比較相鄰的元素,按照順序進行交換,一次遍歷後,就會有乙個最大 最小 交換至頂...

6種排序演算法

氣泡排序 選擇排序 歸併排序 快速排序 堆排序插入排序,顧名思義肯定是已插入為主,將待排序的陣列分為已排序 陣列前部分 和未排序 陣列後部分 這裡我們已從小到大排序,陣列為num 0 end 剛開始排序時,固定第乙個數num 0 為已經排序好的數,從第二個數num 1 開始,從後往前比較已排序中的資...

面試 演算法排序(6)(氣泡排序)

氣泡排序 思路就是交換排序,通過相鄰資料的交換來達到排序的目的 流程 對陣列中的各資料,依次比較相鄰的兩個元素的大小 如果前面的資料大於後面的資料就交換兩個資料,經過第一輪的多次比較排序後,便可將最小的資料排好 再用同樣的方法把剩下的資料逐個比較 展示 package third public cl...