交換排序演算法:
一、冒泡法:
/*
氣泡排序,演算法時間複雜度為: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...