输入
顺序表长度n; 顺序表中的数据元素。
输出
移动后的数据元素。
样例输入
10 32 5 22 43 23 56 54 57 11 25
样例输出
25 11 23 22 5 32 43 56 54 57
按要求做:
#include<iostream>
#include<stdlib.h>
using namespace std;
typedef struct
{
int data[50];
int length;
}Sqlist;
int main()
{
int n,m,x=0;
Sqlist *l;
l=(Sqlist *)malloc(sizeof(Sqlist));
l->length=n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>m;
l->data[i]=m;
}
for(int i=1;i<n;i++)
{
if(l->data[x]>l->data[i])
{
int temp=l->data[i];
for(int j=i;j>0;j--)
{
l->data[j]=l->data[j-1];
}
x=i;
l->data[0]=temp;
}
}
for(int i=0;i<n;i++)
{
cout<<l->data[i]<<" ";
}
return 0;
}
控制一下输出方式:
#include<iostream>
#include<stdlib.h>
using namespace std;
typedef struct
{
int data[50];
int length;
}Sqlist;
int main()
{
int n;
Sqlist *l;
l=(Sqlist *)malloc(sizeof(Sqlist));
cin>>n;
for(int i=0;i<n;i++)
{
cin>>l->data[i];
}
for(int i=n-1;i>=1;i--)
{
if(l->data[0]>l->data[i])
cout<<l->data[i]<<" ";
}
cout<<l->data[0]<<" ";
for(int i=0;i<n;i++)
{
if(l->data[0]<l->data[i])
cout<<l->data[i]<<" ";
}
return 0;
}