//排序思想是一轮 快速排序
#include
#include
typedef struct aa
{
int date[100];
int top;
}aa,*pa;
pa creat()
{
pa a=(aa *)malloc(sizeof(aa));
if(a)
a->top=0;
}
void show(pa a)
{
int i;
printf("\n线性表的元素是\n");
for(i=0;itop;i++)
{
printf("%-3d",a->date[i]);
if((i+1)%10==0)
printf("\n");
}
}
void input(pa a,int n)
{
if(a->top>=99)
printf("元素个数已满\n");
else
{
a->date[a->top]=n;
a->top++;
}
}
void change(pa a)
{
int i,key=a->date[0],low=0,hight=a->top-1;
while(low {
while(key>a->date[low]&&low<=hight)
low++;
while(keydate[hight] &&hight>=low)
hight--;
i=a->date[low];
a->date[low]=a->date[hight];
a->date[hight]=i;
}
a->date[low]=key;
}
int main()
{
int i,j,k,n;
pa a=creat();
printf("请输入元素的个数\n");
scanf("%d",&n);
printf("请输入这些互不相等的元素\n");
for(i=0;i {
scanf("%d",&k);
input(a,k);
}
show(a);
change(a);
show(a);
free(a);
return 0;
}
