西南科技大学OJ题 顺序表上数据的划分问题的实现1102

顺序表上数据的划分问题的实现

建立一个顺序表L,然后以第一个为分界,将所有小于等于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。

输入

顺序表长度n;
顺序表中的数据元素。

输出

移动后的数据元素。

样例输入

10
32 5 22 43 23 56 54 57 11 25

样例输出

25 11 23 22 5 32 43 56 54 57

#include<stdio.h>
int main()
{
    int n,k,t;
    int a[100];
    int b[100];
    int j=0,p=0;
    scanf("%d",&n);
    scanf("%d",&k);
    for(int i=0;i<n-1;i++)
    {
        scanf("%d",&t);
        if(t<k)
        {
            a[j++]=t;
        }
        else
        {
            b[p++]=t;
        }
    }
    for(int i=j-1;i>=0;i--)
    printf("%d ",a[i]);
    printf("%d ",k);
    for(int i=0;i<p;i++)
    printf("%d ",b[i]);
}

猜你喜欢

转载自blog.csdn.net/qq_40593308/article/details/84443506
今日推荐