首页 > 代码库 > 快速排序代码备份
快速排序代码备份
快速排序算法:
// QuickSort.cpp : 定义控制台应用程序的入口点。//#include<iostream>using namespace std;template <typename T>void QSort(T* a, int n){ if (n <= 1) //记住是小于等于1 { return; } if (n == 2) { if (a[0] > a[1]) swap(a[0], a[1]); return; //记得有return } swap(*a, a[n>>1]); T v = *a; T* L = a + 1; T* R = a + n - 1; while( L < R) { while(*L < v && L < R) L++; //记得是小于,要等到> while(*R > v && R > a) R--; //记得是R-- if ( L < R) swap(*L, *R); } swap(a[0], *R); QSort(a, R - a); //记得是从a开始 QSort(R + 1, n - 1 - (R - a)); //记得个数的计算方法 总个数减去分界值减去左边的个数}int main(int argc, char* argv[]){ int a[10]; for (int i = 0; i < 10; ++i) a[i] = 10 - i; QSort(a, 10); for (int i = 0; i < 10; ++i) cout << a[i] << "" ; cout << endl; return 0;}
快速排序代码备份
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。