请问一个数组要逆序排列用C语言怎么编绎

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:03:55
哪位大虾帮帮忙啊,小弟急用,急死了,谁能不吝赐教,将感激不尽!

#include <iostream.h>
#include <stdlib.h>
#include <time.h>

int a[10]={0};

void sort(int l,int r)
{ //这里是快速排序算法,其中 l 和 r 分别表示排序时数组的起始和结束位置
int i = l;
int j = r;
int mid = a[(l+r) / 2];
int c = 0;
while(i<j){
while(a[i]<mid){i++;}
while(a[j]>mid){j--;}
if (i<=j){
c=a[i];a[i]=a[j];a[j]=c;
i++;j--;
}
}
if(l<j){sort(l,j);}
if(i<r){sort(i,r);}
}

int main()
{
srand((unsigned)time(NULL));
for (int i=0;i<10;i++)
a[i] = rand() % 100;

sort(0,9);

for (i=9;i>=0;i--)
cout<<a[i]<<',';
cout<<endl;
return 1;
}

这里的方法用的是效率比较高的快速排序法,简单的方法有冒泡排序法你可以搜下,那个原理和思路都比较简单。但作用都一样。