顺序表上数据的划分问题的实现
建立一个顺序表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]);
}