#include<stdio.h>
#define MAXSIZE 20                       / /顺序表的最大长度
#define LT(a,b) ((a)< (b))
typedef int KeyType;
typedef struct{
KeyType key;                                        //关键字项
//InfoType otherinfo;                            //其他数据项
}RedType;                                 //记录类型
typedef struct{
RedType r[MAXSIZE+1];       //r[0]闲置或用作哨兵单元
int length;                           //顺序表长度
}SqList;                              //顺序表类型

/*void InsertSort(SqList &L){
for(int i=2;i<=L.length;++i)
{
   if(LT(L.r[i].key,L.r[i-1].key)){                    //将L.r[i]插入到有序子表;
    L.r[0]=L.r[i];                                  //复制为哨兵;
    L.r[i]=L.r[i-1];
    for(int j=i-2; LT(L.r[0].key,L.r[j].key); --j)
     L.r[j+1]=L.r[j];                                   /   /记录后移
     L.r[j+1]=L.r[0];   
   }

}
  
}                       //InsertSort*/

void PopSort(SqList &L){
int temp;
for(int i=1;i<=L.length;i++){

for(int j=L.length-1;j>=i;j--){
   if(L.r[j].key>L.r[j+1].key)
   {
    temp=L.r[j+1].key;
       L.r[j+1].key=L.r[j].key;
    L.r[j].key=temp;
   }
      
}
for(int k=1;k<=L.length;k++)
    {
     printf( "%d ",L.r[k].key);      
    }
    printf("\n");                   //插入到正确位置
}
}

int main()
{
int n;
SqList L;
scanf("%d",&n);
L.length=n;
for(int i=1;i<=n;i++)
   scanf("%d",&L.r[i].key);
PopSort(L);
return 1;
}

posted on 2010-04-13 21:32  KuSiuloong  阅读(178)  评论(0编辑  收藏  举报