【数据结构】顺序表的应用(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/82821302

 问题:

1.将顺序表(a1,a2,…,an)重新排列以a1为界的两部分:a1前面的值均比a1小,a1后面的值均比a1大(这里假设数据元素的类型具有可比性,不妨设为整型)。

头文件与该头文件一样:【数据结构】顺序表的实现(C语言)

#include "stdio.h"
#include "sequlist.h"
int main ()
{
    int i,length,input_number,compare;
    sequence_list slt,new_slt;
    while (1)
    {
        init(&slt);
        init(&new_slt);
        printf("请输入想要创建的顺序表的长度:");
        scanf("%d",&length);
        printf("请输入%d个数字:\n",length);
        for (i=1;i<=length;i++)
        {
            scanf("%d",&input_number);
            append(&slt,input_number);
        }
        if(!isempty(&slt))
        {
            compare=slt.a[0];
            printf("a1=%d\n",compare);
            for (i=1;i<slt.size_;i++)
            {
                if(slt.a[i]<compare)
                {
                    append(&new_slt,slt.a[i]);
                }
            }
            append(&new_slt,compare);
            for (i=1;i<slt.size_;i++)
            {
                if(slt.a[i]>compare)
                {
                    append(&new_slt,slt.a[i]);
                }
            }
        }
        else    ;
        printf("原来顺序表:");display(&slt);printf("\n");
        printf("新排列顺序表:");display(&new_slt);printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/82821302