快速排序与插入排序

来源:互联网 发布:手机淘宝怎么看vip等级 编辑:程序博客网 时间:2024/05/17 22:56
#include<iostream>using namespace std;#define maxSize 10void CreateArray(int array[]){cout<<"请输入要创建的整形数组,数组长度为10,以空格作为分隔符"<<endl;for(int i=0;i<maxSize;i++){cin>>array[i];}cout<<"数组创建成功"<<endl;}void Insert_Sort1(int array[]){for (int j=1;j<maxSize;j++){for (int i=0;i<j;i++){if (array[j]<array[i]){int p = i;for (i=j;i>p;i--){array[i]=array[i-1];}array[p]=array[j];break;} }}}void Insert_Sort2(int array[]){for (int j=1;j<maxSize;j++){int key=array[j];int i =j-1;while (i>=0&&array[i]>key){array[i+1]=array[i];i--;}array[i+1]=key;}}int Partition(int array[],int p,int r){int temp;int x = array[r-1];int i = p-1;for (int j=p;j<r-1;j++){if (array[j]<=x){i++;temp = array[j];array[j]=array[i];array[i]=temp;}}temp=array[r-1];array[r-1]=array[i+1];array[i+1]=temp;return i+1;}void Quick_Sort(int array[],int p,int r){if (p<r){int q = Partition(array,p,r);Quick_Sort(array,p,q);Quick_Sort(array,q+1,r);}}void VisitArray(int array[]){for(int i=0;i<maxSize;i++){cout<<array[i]<<" ";}cout<<endl;}int main(){int array[maxSize];CreateArray(array);Quick_Sort(array,0,maxSize);VisitArray(array);return 0;}

这只是平时训练排序的时候写的,只是没想到实验竟然包括了快排算法。

这里是两个插入排序算法和一个快排算法。。。看函数名就知道了。。


原创粉丝点击