顺序表插入操作的实现
1000(ms)
10000(kb)
2971 / 13413
建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data。如果指定的数据元素item不存在,则将data插入到顺序表的尾端。(数据类型为整型)
输入
第一行为顺序表的长度n; 第二行为顺序表中的数据元素; 第三行为指定的数据元素item; 第四行为要插入的数据元素data;
输出
输出结果为顺序表中的数据元素。
样例输入
10 10 20 30 40 50 60 70 80 90 100 50 55
样例输出
10 20 30 40 55 50 60 70 80 90 100
为了过oj的代码,没有任何技巧(有点小聪明,没按题目要求)
#include<iostream> #include<stdlib.h> using namespace std; typedef struct { int data[55]; int length; }Sqlist; void initSqlist(Sqlist *&l) { int n,m; cin>>n; l=(Sqlist *)malloc(sizeof(Sqlist)); l->length=n; for(int i=0;i<n;i++) { cin>>m; l->data[i]=m; } } int main() { Sqlist *l; int n,m; initSqlist(l); cin>>n; cin>>m; int flag=1; for(int i=0;i<l->length;i++)//遍历找指定值 { if(l->data[i]==n)//将要插入的值先输出 { cout<<m<<" "; flag=0; } cout<<l->data[i]<<" "; } if(flag) cout<<m<<" "; return 0; }