ps创立剪切蒙版:函数编写

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 13:24:56
函数编写,将一正整数序列{K1.K2.....K9}(无序)重新排列成一个新的序列.新的序列中.比K1小的数都在K1前面(左面)比K1大的数都在K1的后面

快速排序,一次叠代

#include <stdio.h>

void funny(int* a, int size)
{
int i=0;
int j=size;
int l;
int m = 0;
int tmp;
while(i<j)
{
for(l=j-1;l>m;l--)
{
if(a[l]<a[m])
{
tmp = a[m];
a[m] = a[l];
a[l] = tmp;
m = l;
break;
}
}
j = l;
for(l=i+1;l<m;l++)
{
if(a[l]>a[m])
{
tmp = a[m];
a[m] = a[l];
a[l] = tmp;
m = l;
break;
}
}
i = l;
}

}
int main()
{
int a[9];
int i;
for(i=0;i<9;i++)
{
printf("Input number %d:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<9;i++) printf("%d,",a[i]);
printf("\n");
funny(a,9);
for(i=0;i<9;i++) printf("%d,",a[i]);
printf("\n");
}
最后的结果并没有把整个序列排序哦
只是满足了题目的要求,所以是一次快速排序叠代

这个问题不知道用冒泡能不能做出来