排序算法 C++实现
发布时间:2020-12-16 10:46:37 所属栏目:百科 来源:网络整理
导读:一、插入排序 (Insertion Sort) void insertion_sort(vector int number){ int length = number.size(); if (length = 1 ) return ; for ( int index = 1 ; index length; ++ index){ int temp = number[index]; int compare = index; for (; compare 0 te
一、插入排序 (Insertion Sort) void insertion_sort(vector<int>& number){ int length = number.size(); if(length <= 1) return; for(int index = 1; index < length; ++index){ int temp = number[index]; int compare = index; for(; compare > 0 && temp < number[compare-1]; compare--) number[compare] = number[compare-1]; number[compare] = temp; } } ? 二、 快速排序(Quick Sort) void quick_sort(vector<int>& number,int begin,int end){ if(begin >= end) return; int mid = (begin+end)/2,pivot = number[mid]; swap(number[mid],number[end]); int temp = begin - 1; for(int i = begin; i < end; i++) if(number[i] <= pivot) swap(number[++temp],number[i]); swap(number[++temp],number[end]); quick_sort(number,begin,temp-1); quick_sort(number,temp+1,end); } ? ? ? 示例代码: #include <iostream> #include <vector> using namespace std; void insertion_sort(vector<int>&); void quick_sort(vector<int>&,int,int); int main() { vector<int> numbers = {34,8,64,51,21,1,23,45,90,47,35,70,134,152,251,540}; // 1 8 21 23 34 35 45 47 51 64 70 90 134 152 251 540 // insertion_sort(numbers); // quick_sort(numbers,0,numbers.size()-1); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |