算法思想
1.选择一亿数的前100数前100个数排序
2.后面的数字通过插入排序
#include<iostream>
using namespace std;
void buddlesort(int array[],int n)
{
bool exchange=true;
int count=n;
while(exchange){
exchange=false;
for(int i=0;i<count;i++)
{
if(array[i]>array[i+1])
{
int temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
exchange=true;
}
}
count--;
if(count<n-100)
{
break;
}
}
}
void insertsort(int array[], int n)
{
buddlesort(array,100);
for(int i=100;i<n;i++)
{
int temp=array[i];
int pos=100;
for(int j=100;j>0;j--)
{
if(temp<array[j])
{
pos=j;
break;
}
}
for(int k=0;k<pos-1;k++)
{
array[k]=array[k+1];
}
array[pos-1]=temp;
}
}
int main()
{
int *array=new int[100000000];
for(int i=0;i<100000000;i++)
{
array[i]=100000000-i;
}
insertsort(array, 100000000);
for(int i=0;i<100;i++)
{
cout<<array[i]<<endl;
}
delete array;
}