#include<stdio.h>
#include<string.h>
int main()
{
char array[10];
char b[10];//临时数组存放临时数据
int i = 0, j, k, z, count = 0;
gets(array);
j = k = strlen(array) / 2 ;
z = strlen(array);
while(count != z){
//临时数组里的元素个数等于原数组里的元素个数时结束
if(array[i] < array[j]){
printf("%c %c\n" ,array[i], array[j]);
b[count++] = array[i];//先放小的元素
i++;
}
else{
b[count++] = array[j];
j++;
}
if(i == k ){
//如果有一个已经到头了那么另一端不断存入到临时数组中
while(j != z){
b[count++] = array[j++];
}
}
if(j == z){
while(i != k)
b[count++] = array[i++];
}
}
b[count] = '\0';//加一个结束符
puts(b);
strcpy(array,b);
puts(array);
return 0;
}
将一个数组排序(数组的左一半和右一半都是小到大或者大到小)
最新推荐文章于 2022-03-19 15:58:37 发布