用C语言快速排序法编程按从大到小输出下面十个数(24,2,8,32,87,45,16,2,12,40) c语言,求教用快速排序法,将十个数按大小顺序输出。

\u6c42\u5927\u795e\u7f16\u5199\u4e00\u4e2a\u4ece\u5927\u5230\u5c0f\u5feb\u901f\u6392\u5e8fC\u8bed\u8a00\u7a0b\u5e8f\uff0c\u6ce8\u610f\u662f\u4ece\u5927\u5230\u5c0f\uff01\u6025\uff0c\u5728\u7ebf\u7b49\uff01

#include
void sort(int b[],int lef,int rig)
{
int le,ri,temp;
temp=b[lef];
le=lef;
ri=rig;
while(le<ri)
{
while(b[ri]<=temp&&le<ri)
ri--;
b[le]=b[ri];
while(b[le]>=temp&&ri>le)
le++;
b[ri]=b[le];
}
b[le]=temp;
if(le>lef)
sort(b,lef,ri-1);
if(ri<rig)
sort(b,ri+1,rig);

}
int main()
{
int i;
int a[10]={24,2,8,32,87,45,16,2,12,40};
sort(a,0,9);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

\u7ed9\u4f60\u4e2a\u7a0b\u5e8f\u5427\uff0c\u6309\u7167\u4ece\u5c0f\u5230\u5927\u6392\u5217\u7684,\u7b54\u9898\u4e0d\u6613\uff0c\u671b\u91c7\u7eb3\u3002\u4e0d\u660e\u767d\uff0c\u8bf7\u8ffd\u95ee\u3002#include "stdio.h"#include "stdlib.h"#include "math.h"main(){int a[12];int i,j,t;printf("\u8bf7\u8f93\u516510\u4e2a\u6570:\n");for(i=0;ia[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}//\u7ed3\u675f\u6392\u5e8fprintf("\u6392\u5e8f\u540e\u7684\u6570\u5217\u4e3a:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("%\n");}

#include "stdio.h"
#include "stdlib.h"

void QuickSort(int low, int high, int array[]) {
int Low, High, temp;
if (low < high) { /*要排序的元素起止下标,保证小的放在左边,大的放在右边。这里以下标为low的元素为基准点*/
Low = low;
High = high;
temp = array[low]; /*暂存基准点的数*/
while (Low < High) { /*循环扫描*/
while (Low < High && array[High] >= temp) { /*在右边的只要比基准点大仍放在右边*/
High--; /*前移一个位置*/
}
if (Low < High) {
array[Low] = array[High]; /*上面的循环退出:即出现比基准点小的数,替换基准点的数*/
Low++; /*右移一个位置*/
}
while (Low < High && array[Low] <= temp) { /*在左边的只要小于等于基准点仍放在左边*/
Low++; /*后移一个位置*/
}
if (Low < High) {
array[High] = array[Low]; /*上面的循环退出:即出现比基准点大的数,放到右边*/
High--; /*前移一个位置*/
}
}
array[Low] = temp; /*一遍扫描完后,放到适当位置*/
QuickSort(low,Low-1,array); /*对基准点左边的数再执行快速排序*/
QuickSort(Low+1,high,array); /*对基准点右边的数再执行快速排序*/
}
}
void main() {
int array[]={24,2,8,32,87,45,16,2,12,40};
int i=9;
QuickSort(0,9,array);

for(;i>=0;i--)
printf("%d ",array[i]);
getch();
return 0;
}

#include<stdio.h>
void sort(int b[],int lef,int rig)
{
int le,ri,temp;
temp=b[lef];
le=lef;
ri=rig;
while(le<ri)
{
while(b[ri]<=temp&&le<ri)
ri--;
b[le]=b[ri];
while(b[le]>=temp&&ri>le)
le++;
b[ri]=b[le];
}
b[le]=temp;
if(le>lef)
sort(b,lef,ri-1);
if(ri<rig)
sort(b,ri+1,rig);

}
int main()
{
int i;
int a[10]={24,2,8,32,87,45,16,2,12,40};
sort(a,0,9);
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}

int[] a=new int[]{24,2,8,32,87,45,16,2,12,40};
Array.Sort(a);
for(int i=1;i<=a.Length;i++)
{
for(int j=0;j<a.Length-i;j++)
{
if(a[j]<a[i])
{
int tmp=(int)a[j];
a[j]=a[j+1];
a[j+1tmp;
}
}
}

  • 鐢–璇█蹇熸帓搴忔硶缂栫▼鎸変粠澶у埌灏忚緭鍑轰笅闈㈠崄涓暟(24,2,8,32,87,45...
    绛旓細array[Low] = temp; /*涓閬嶆壂鎻忓畬鍚庯紝鏀惧埌閫傚綋浣嶇疆*/ QuickSort(low,Low-1,array); /*瀵瑰熀鍑嗙偣宸﹁竟鐨勬暟鍐嶆墽琛蹇熸帓搴*/ QuickSort(Low+1,high,array); /*瀵瑰熀鍑嗙偣鍙宠竟鐨勬暟鍐嶆墽琛屽揩閫熸帓搴*/ } } void main() { int array[]={24,2,8,32,87,45,16,2,12,40};int i=9;...
  • 濡備綍灏c璇█瀹炵幇鎸変粠灏忓埌澶х殑椤哄簭杈撳嚭?
    绛旓細int i,n = sizeof(a)/sizeof(a[0]);//鑾峰彇鏁扮粍澶у皬 quickSort(a,0,n-1);//蹇熸帓搴鍑芥暟鍏ュ彛 for(i = 0; i < n; i ++)//杈撳嚭鎺掑簭鍚庣殑缁撴灉 printf("%d ",a[i]);return 0;}
  • 鐢–璇█缂栫▼:浠庨敭鐩樿緭鍏10涓鐢熺殑鎴愮哗,鐢遍珮鍒颁綆鎺掑簭杈撳嚭鎴愮哗
    绛旓細鍦C璇█缂栫▼涓紝瑕佸疄鐜颁粠閿洏杈撳叆10涓鐢熺殑鎴愮哗骞舵寜楂樺垎鍒颁綆鍒嗚繘琛鎺掑簭锛屽彲浠ヤ娇鐢ㄧ粡鍏哥殑鍐掓场鎺掑簭绠楁硶銆備笅闈㈡槸涓涓畝鍖栫殑姝ラ鎻忚堪锛氶鍏堬紝鍖呭惈蹇呰鐨勫ご鏂囦欢骞跺畾涔夋暟缁勫ぇ灏忥細鍒╃敤C璇█锛屾垜浠彲浠ヤ娇鐢ㄥ啋娉℃帓搴忕畻娉曡交鏉捐В鍐宠繖涓棶棰樸傚紑濮嬫椂锛岄渶瑕佸寘鍚紝骞惰瀹氫竴涓暟缁勫ぇ灏忥紝渚嬪#defineSIZE11銆傛帴鐫锛屽畾涔変竴涓猙...
  • c璇█鎬庢牱瀹炵幇蹇熸帓搴
    绛旓細arr_num[i] = temp;//缁х画閫掑綊鐩村埌鎺掑簭瀹屾垚 quick_sort(left, i-1);quick_sort(i+1, right);} int main(){ int i;length = 7;arr_num[length] = {23, 7, 17, 36, 3, 61, 49} //蹇熸帓搴璋冪敤 quick_sort(0, length-1);//杈撳嚭鎺掑簭鍚庣殑缁撴灉 for(i=1;i<=length;i++)prin...
  • C璇█蹇熸帓搴浠g爜
    绛旓細qsort(l,prvotloc+1,high); //閫掑綊璋冪敤鎺掑簭 鐢 prvotloc+1鍒 high } } void quicksort(int l[],int n){ qsort(l,1,n); //绗竴涓綔涓烘灑杞 锛屼粠绗竴涓帓鍒扮n涓 } void main(){ int a[11]={0,2,32,43,23,45,36,57,14,27,39};for (int b=1;b<11;b++)printf("%3d...
  • C璇█蹇熸帓搴浠g爜
    绛旓細閲囩敤蹇熸帓搴锛岀敤閫掑綊瀹炵幇 include <stdio.h> define N 10 //瀹氫箟鎺掑簭鏁扮粍鍏冪礌涓暟 int Qsort(int start,int length,int a[])//start鎺掑簭鐨勮捣濮嬶紝length鏄鎺掑簭搴忓垪闀垮害 { int x = a[start];int i,j;i = start;j = length -1;while(i < j){ if(x < a[j])j--;else if(x...
  • C璇█浠g爜蹇熸帓搴忔硶
    绛旓細绯荤粺win7銆佸伐鍏凤細VC++6.0 姝ラ锛歏C++涓紝鏈夋椂鍊欏啓鐨勬椂鍊欐湁鐐逛贡锛屼竴涓よ杩樺彲浠ユ參鎱㈣皟鏁达紝澶氫簡灏遍夯鐑﹀暒锛屽鍥惧涔 鎺ヤ笅鏉ユ垜鏁欎綘蹇熸帓搴锛岀湅鐨勪篃鑸掓湇锛屾寜浣忋恈trl+A銆戝叏閫変唬鐮侊紝濡傚浘 鐒跺悗鍐嶆寜浣忋怉lt+F8銆戯紝鐪嬬湅鎴戜滑鐨勪唬鐮佸彂鐢熶簡閭d簺鍙樺寲锛屽鍥撅細鏄笉鏄緢鏁撮綈锛屽緢濂界湅鍛 ...
  • C璇█,杈撳叆涓缁勬暟杩涜鎺掑簭,鐢卞ぇ鍒灏忔帓鍒,鐢ㄨ嚜瀹氫箟鍑芥暟瀹炵幇
    绛旓細缁欎綘涓涓洿鎺ユ彃鍏鎺掑簭 include "stdio.h"void InsertSort(int a[], int left, int right) {//瀵规暟缁刟浠庝笅鏍囦负left鍒皉ight鍖哄煙杩涜鐩存帴鎻掑叆鎺掑簭 int i, j, tmp;for(i = left + 1; i <= right; i++) { for(j = i - 1, tmp = a[i]; j >= left && tmp > a[j]; j++...
  • 鐢–璇█缂栫▼:浠庨敭鐩樿緭鍏10涓鐢熺殑鎴愮哗,鐢遍珮鍒颁綆鎺掑簭杈撳嚭鎴愮哗
    绛旓細SIZE] = {0};int i;for(i=0;i<10;i++)scanf("%d",&number[i]);bubble_sort(number, SIZE);for (i = 0; i < SIZE; i++){ printf("%d\n", number[i]); } return 0;} 杩愯杩囩▼ 闄や簡鍐掓场鎺掑簭娉,杩樻湁閫夋嫨鎺掑簭娉,蹇熸帓搴忔硶,杩樿棰樹富鍦ㄥぇ瀛﹀ソ濂藉涔犲摝 ...
  • 姹c璇█蹇熸帓搴鐨勫畬鏁翠唬鐮
    绛旓細include<stdio.h> void quicksort (long *data,int s,int t){ int i,j;i=s;j=t+1;long y1,temp;y1=data[s];do { do i++; while(data[i]<y1);do j--; while(data[j]>y1);if(i<j){ temp=data[i];data[i]=data[j];data[j]=temp;} }while(i<j);data[s]=data[j...
  • 扩展阅读:从小c到大 ... 现在搞plc还有出路吗 ... 程序员初级入门自学 ... 自学编程10秒学会 ... 小学生学python还是c++ ... 快速排序完整代码c ... c++编程适合几岁学 ... c语言按从小到大输出 ... c语言数字排序从小到大 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网