您的位置:首页 > 其它

调用转置函数对数组排序

2010-07-26 21:14 141 查看
]#include<stdio.h>
#define N 100

//reverse pre-len of the array
void Reverse(int *num, int len)
{
int i;

for(i=0; i<len/2; i++)
{
num[i] = num[i] + num[len-1-i];
num[len-1-i] = num[i] - num[len-1-i];
num[i] = num[i] - num[len-1-i];
}
}

//use the funtion "Reverse()" to sort a array which "*num" point to
void Sort(int *num, int len)
{

if(len<2)
return;

Sort(num,len-1);
if(num[len-1]<num[len-2])
{
Reverse(num,len);
Reverse(num,2);
Reverse(num,len);
}

Sort(num,len-1);

}

int main()
{
int num
;
int i=0,n=0;

//creat a array
printf("how long the array you want to creat:/n");
scanf("%d",&n);
for(i=0; i<n; i++)
{
printf("input the %ds data:",i+1);
scanf("%d",&num[i]);
}
printf("/n");

printf("before sort:/n");
for(i=0; i<n; i++)
printf("%d/t",num[i]);

Sort(num,n);
//Reverse(num,4);

printf("/nafter sort:/n");
for(i=0; i<n; i++)
printf("%5d/t",num[i]);
printf("/n");

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐