1464 数据结构:线性表插入元素
来源:互联网 发布:访客网络是用2.4还是5g 编辑:程序博客网 时间:2024/05/19 08:46
数据结构:线性表插入元素
Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByte
Total Submit:104 Accepted:57
Description
线性表a(有n个元素)和线性表b(有m个元素)的元素均为整数。现将b中存在而a中不存在的元素插入到线性表a中。其中:0<m,n<100
Input
只有一个测试案例。
输入包括2行,第1行为n和n个整数,第2行为m和m个整数。
Output
输出插入元素后a中的元素。
Sample Input
3 1 3 2
4 2 5 3 6
Sample Output
1 3 2 5 6
Hint
注意:输出的整数之间有1个空格,最后一个整数后面没有空格。
AC代码:
#include<iostream>#include<stdlib.h>#define LIST_INIT_SIZE 100#define LISTINCREMENT 10 #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASSIBLE -1#define OVERFLOW -2using namespace std;typedef int Status;typedef int ElemType;typedef int *Triplet;ElemType *T,*p,*q,ai,bj;typedef struct{ ElemType *elem; int length; int listsize; }SqList;typedef int Status;Status InitList_Sq(SqList &L) { L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if (!L.elem) exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK;}Status GetElem (SqList L , int i,ElemType &e) {if(i<1||i>L.length+1) return ERROR; e=L.elem[i-1]; return OK;} Status ListInsert_Sq(SqList &L,int i,ElemType e ){ if (i<1||i>L.length+1) return ERROR; if (L.length>=L.listsize) { T=(ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType)); if (!T) exit(OVERFLOW); L.elem=T; L.listsize+=LISTINCREMENT; } q=&(L.elem[i-1]); for (p=&(L.elem[L.length]);p>=q;p--)*(p+1)=*p; *q=e; ++L.length; return OK;} Status MergeList(SqList La, SqList Lb,SqList &Lc){int i=1,j=1,k=0,La_len,Lb_len,t=1;InitList_Sq(Lc); La_len=La.length; Lb_len=Lb.length; while(i<=La_len){ GetElem(La,i++,ai);ListInsert_Sq(Lc,++k,ai); } while(j<=Lb_len){ GetElem(Lb,j++,bj); for(int t=1;t<=La_len;t++) { if(La.elem[2]!=bj&&La.elem[1]!=bj) {ListInsert_Sq(Lc,++k,bj); break;} } }}int main(){ SqList La,Lb,Lc; ElemType elem,elem1; int i,j=0,k=0; int n,m; cin>>n; InitList_Sq(La); InitList_Sq(Lb); InitList_Sq(Lc); La.length=n; for (i=1;i<=n;i++) cin>>La.elem[i-1]; cin>>m; Lb.length=m; for (i=1;i<=m;i++) cin>>Lb.elem[i-1]; Lc.length=m+n; MergeList(La,Lb,Lc); for (i=1;i<Lc.length;i++) cout<<Lc.elem[i-1]<<" "; cout<<Lc.elem[i-1]<<endl; return 0;}
1 0
- 1464 数据结构:线性表插入元素
- 数据结构 线性插入元素
- 数据结构--关于线性表插入元素
- 数据结构—关于线性表插入元素
- 数据结构(线性表的操作:建立表,插入元素,删除元素,取元素,置空)
- 线性表中插入元素
- 线性表之顺序表插入元素
- 数据结构 线性表 单链表 插入与删除
- 数据结构——线性表的插入
- 1462 数据结构:线性表的插入
- 数据结构之删除线性表中的元素
- 数据结构--关于线性表删除元素
- 1.线性表创建、元素插入、元素删除、线性表合并(原创)
- 【c++】向顺序线性表中插入元素
- 线性表中实现查找、删除、插入元素
- 单链表(线性链表)数据元素插入和删除
- 线性表的 赋值,插入,与元素的删除
- 数据结构 线性表 循环链表 插入与删除
- Linux系统中主要系统目录的功能
- gdb调试
- hdu1874 畅通工程续--单源最短路径
- 事件类CEvent的使用
- 第6章招聘产品经理——寻找出色的产品经理
- 1464 数据结构:线性表插入元素
- 贪心算法总结
- C++作业2
- jsp 分页条 结合page.jar 实现分页数据和分页条分离
- 1465 数据结构:有序链表的合并
- poj3040Allowance
- xocde编译报错 dyld: Library not loaded:
- HNOI模拟赛总结
- Service生命周期浅析