给定一个数列,用快速排序算法把它排成升序.
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/18 17:43:09
给定一个数列,用快速排序算法把它排成升序.
第一行是一个整数n,表示要排序的数的个数;下面一行是用空格隔开的n个整数.
第一行是一个整数n,表示要排序的数的个数;下面一行是用空格隔开的n个整数.
#include
#define SIZE 100
int arrary[SIZE],n;
void sort(int cent)
{
\x05if(cent == n-1)
\x05\x05return;
\x05sort(cent+1);
\x05int i = cent+1,temp = arrary[cent];
\x05while(i < n)
\x05{
\x05\x05if(arrary[i] >temp)
\x05\x05{
\x05\x05\x05arrary[i-1] = arrary[i];
\x05\x05\x05i++;
\x05\x05}
\x05\x05else break;
\x05}
i --;
arrary[i] = temp;
}
void print(){
int i;
for(i = 0; i < n; i++)
printf("%d ",arrary[i]);
printf("\n");
}
int main(){
int i;
printf("输入待排序的数据的个数:");
scanf("%d",&n);
printf("输入数据,空格为分隔符号:\n");
for(i = 0; i < n; i++)
scanf("%d",&arrary[i]);
printf("排序前:\n");
print();
sort(0);
printf("排序后:\n");
print();
getchar();
#define SIZE 100
int arrary[SIZE],n;
void sort(int cent)
{
\x05if(cent == n-1)
\x05\x05return;
\x05sort(cent+1);
\x05int i = cent+1,temp = arrary[cent];
\x05while(i < n)
\x05{
\x05\x05if(arrary[i] >temp)
\x05\x05{
\x05\x05\x05arrary[i-1] = arrary[i];
\x05\x05\x05i++;
\x05\x05}
\x05\x05else break;
\x05}
i --;
arrary[i] = temp;
}
void print(){
int i;
for(i = 0; i < n; i++)
printf("%d ",arrary[i]);
printf("\n");
}
int main(){
int i;
printf("输入待排序的数据的个数:");
scanf("%d",&n);
printf("输入数据,空格为分隔符号:\n");
for(i = 0; i < n; i++)
scanf("%d",&arrary[i]);
printf("排序前:\n");
print();
sort(0);
printf("排序后:\n");
print();
getchar();
给定一个数列,如何用归并排序算法把它排成升序,用c语言实现.
EXCEL排序的话,怎么让排序是按12345678..这样排数据.我现在排是升序,然后它就排成了1,10,11,12,1
Java 用冒泡法,把数组按升序排序{37,47,23,-5,19,56}
请用C语言设计下列算法:1.把3个任意数按升序排列2.判断一个整数n能否被3和5整除
给定任意一个四位数的年份,判断它是否为闰年,请用流程图描述它的算法.
如何理解快速排序算法的思想?
把一个给定数插到有序数列中,插入后数列仍然有序
急 把一个给定数插到有序数列中,插入后数列仍然有序
请描述数列(13,59,10,35,15,12)进行升序希尔排序的过程.
利用选择排序算法,对下面一组数进行排序(升序),并写出每趟排序结果:{49,38,65,97,76,13,27,59}
请描述数列(23,19,30,45,19,12)进行升序快速排列的过程
给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是?