1403 二叉排序树非升序排序数列

来源:互联网 发布:linux开启8080端口 编辑:程序博客网 时间:2024/06/06 05:54
 
描述

利用二叉排序树排序,输出非升序排序数列。不考虑空树情况。

输入

输入为n+1行。第一行为测试数据的组数n,以下的n行分别为n组测试数据。数列中的数为int,每个元素用空格隔开。

输出

输出为n行。分别对应n组测试数据。输入为该组数列的非升序排列,元素之间用空格隔开。

样例输入
2
1 3 5 2 4 6
1 1 1 1
样例输出
6 5 4 3 2 1
1 1 1 1 

 

用数组模拟即可

#include <stdio.h>#include <string.h>char s[1000];main(){int number;int length,i,j;int p;int a[1000];int up;int temp;scanf("%d",&number);getchar();while(number--){up=0;gets(s);length=strlen(s);i=0;p=0;for(i=0;i<length;i++){if(s[i]!=' '){       p=0;while(s[i] >= '0' && s[i] <= '9'&&i<length){p = p * 10 + s[i] - '0';i++;}a[up++]=p;}elsecontinue;}for(i=0;i<up;i++)for(j=i+1;j<up;j++){if(a[i]<a[j]){ temp=a[i];     a[i]=a[j]; a[j]=temp;}  }        for(i=0;i<up;i++)printf("%d ",a[i]);printf("\n");}}


 

原创粉丝点击