快速排序,包括排序标签
来源:互联网 发布:java中replace函数的包 编辑:程序博客网 时间:2024/06/04 17:46
#include "stdafx.h"#include <iostream>using namespace std;void QuickSort(int* values,int* labels,const int lo,const int hi);int _tmain(int argc, _TCHAR* argv[]){ int lab[10]={7,6,5,4,10,9,8,2,1,3};int sor[10]={1,2,3,4,5,6,7,8,9,10};QuickSort(lab,sor,0,9);for(int i=0; i<10; i++) {cout<<lab[i]<<": "<<sor[i]<<endl;}return 0;}void QuickSort(int* values,int* labels,const int lo,const int hi){ int i=lo, j=hi;int v; int l; int x = values[(lo+hi)/2]; do { while (values[i]<x) i++; while (values[j]>x) j--; if (i<=j) { v=values[i]; values[i]=values[j]; values[j]=v;l=labels[i]; labels[i]=labels[j]; labels[j]=l; i++; j--; } } while (i<=j); if (lo<j) QuickSort(values,labels,lo, j); if (i<hi) QuickSort(values,labels,i, hi);}