C语言编程:在一个顺序表中插入一个元素让其仍然有序

如题所述

第1个回答  2010-10-17
#include <iostream.h>
#define arrsize 1024
void main()
{
int a[arrsize],elenum=0;
int input(int a[]);
void print(int a[],int n);
int ins(int a[],int x,int n);

elenum=input(a);
print(a,elenum);
int y;
cin>>y;
elenum=ins(a,y,elenum);
print(a,elenum);
}

int input(int a[])
{
int x,k=0;
cin>>x;
while(x!=0)
{
a[k]=x;
k++;
cin>>x;
}
return k;
}
int ins(int a[],int x,int n)//输入函数
{
int i,j;
while(x<a[i])
i++;
for(j=n-1;j>i;j--)
a[j+1]=a[j];
a[i]=x;
return n;
}
void print(int a[],int n)//输出函数
{
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
}

参考资料:http://zhidao.baidu.com/question/190615693.html

本回答被提问者采纳
第2个回答  2010-10-17
顺序比较下去,找到该元素在顺序表中的位置,然后插入就可以了
相似回答