?? quicksort.txt
字號:
//快速排序
#include<iostream.h>
int divideareasort(int r[],int s,int t)
{ int i,j; //定義指示器變量
int temp; // 定義寄存工作單元
i=s;j=t; //區間指示器變量初始化
temp=r[s]; //確定分割基準
do
{ while((r[j]>=temp)&&(i<j))
j--; //自后向前掃描找小于基準關鍵字的記錄
if(i<j)
{ r[i]=r[j]; //把r[j]移入r[i]中
i++; //另i指向i+1
}
while((r[i]<=temp)&&(i<j))
i++; //自前向后掃描找大于基準關鍵字的記錄
if(i<j)
{ r[j]=r[i];
j--;
}
}while(i<j); //當i<j時重復以上過程
r[i]=temp; //將基準記錄移入最終位置
return i; //返回基準記錄的阿最終位置i
}
void quicksort(int r[],int s,int t) //對待排序文件進行快速排序
{ int i;
if(s<t)
{ i=divideareasort(r,s,t); //分割區間并把基準位置送i
quicksort(r,s,i-1); //對基準記錄前的區間快速排序
quicksort(r,i+1,t); //對基準記錄后的區間快速排序
}
}
void main()
{ int r[10]={14,41,3,22,18,5,7,99,13,100},s=0,t=8;
cout<<"輸出數組:" ;
for(int i=1;i<10;i++)
cout<<r[i]<<' ';
cout<<endl;
quicksort(r,s,t); //快速排序
cout<<"排序后結果:";
for(int i=1;i<10;i++)
cout<<r[i]<<' ';
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -