冒泡排序
//l爲元素個數
void Bubble_Sort(int *a,int l){
//記錄,如果有序就不必再繼續操作
bool change=true;
for(int i=0;i<l&&change;i++)
{
change=false;
for(int j=0;j<l-1;j++)
{
if(a[j]>a[j+1])
{
swap(a[j],a[j+1]);
change=true;
}
}
}
}
快速排序
//快速排序 s爲首元素下標,e爲尾元素下標
void quick_sort(int n[],int s,int e)
{
if(s>=e) return;
int i=s,j=e,x=n[s];
//一趟快速排序
while(i<j)
{
//從右往左找第一個小於x的
while(i<j&&n[j]>=x)
{
j--;
}
if(i<j)
{
n[i++]=n[j];
}
//從左往右找第一個大於x的
while(i<j&&n[i]<=x)
{
i++;
}
if(i<j)
{
n[j--]=n[i];
}
}
n[i]=x;
quick_sort(n,s,i-1);
quick_sort(n,i+1,e);
}