十大經典排序演算法之交換排序

2021-07-25 03:35:21 字數 944 閱讀 6039

交換排序演算法:

一、冒泡法:

/*

氣泡排序,演算法時間複雜度為:o(n^2),穩定的排序演算法

written by: qinchao

time:2016/12/3

language: c++

*/void bubblesort_6(vector&_snum, int _len)

}

二、雞尾酒排序演算法,又稱雙向氣泡排序:

/*

雞尾酒排序(雙向氣泡排序),演算法時間複雜度為:o(n^2), 穩定排序

written by: qinchao

time:2016/12/3

language: c++

*/void shakersort_7(vector&_snum, int _len)

} right = state;

for (int i = right; i > left; i--)

}left = state;

}}

三、快速排序演算法

/*

快速排序,演算法時間複雜度為:o(nlogn), 不穩定排序

written by: qinchao

time:2016/12/3

language: c++

*/int partion(vector&_num, int left, int right)

} temp = _num[i + 1];

_num[i + 1] = _num[right];

_num[right] = temp;

return i + 1;

}void quicksort_8(vector&_snum, int left, int right)

}

經典排序之交換排序

交換排序的基本思想是 對待排序資料元素,兩兩比較其關鍵字,若發現存在逆排序,則交換這兩個資料,一直到待排序資料元素中沒有逆序為止。一 氣泡排序 bubble sort 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列 的工作是...

十大經典排序演算法

載自 排序演算法是 資料結構與演算法 中最基本的演算法之一。排序演算法可以分為內部排序和外部排序,內部排序是資料記錄在記憶體中進行排序,而外部排序是因排序的資料很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排...

十大經典排序演算法

不穩定排序種類為4種 快速排序 核心思想是partition操作 二分法分而治之 平均時間複雜度nlogn 希爾排序 高階版的插入排序,先把間隔較遠的子串行排序,最後間隔為1時,等同於插入排序 插入排序在序列有序時,時間複雜度常數級,所以先讓子串行總體有序,能有效降低時間複雜度 平均時間複雜度n 1...