链式线性表的操作
来源:互联网 发布:四川麻将源码下载 编辑:程序博客网 时间:2024/04/30 02:48
//链式线性表的 创建,查找,删除,插入,合并操作#include <iostream>#include <cstdlib>#include <cstdio>using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void CreatList(LinkList &L,int n){ L=(LinkList) malloc(sizeof(LNode)); LinkList q=L; for(int i=0;i<n;i++){ LinkList p=(LinkList) malloc(sizeof(LNode)); scanf("%d",&(p->data)); q->next=p; q=p; q->next=NULL; }}void ShowList(LinkList L){ LinkList q=L->next; while (q!=NULL){ cout<<(q->data)<<" "; q=q->next; } cout<<endl;}int GetElem_L(LinkList L,int i,int &e){ //根据序号查找 int j=1; LinkList p=L->next; while (j<i&&p!=NULL){ p=p->next; j++;}if(j>i||p==NULL){ cout<<"error"<<endl; return 0;}else{ e=p->data; return 1;}}int ListInsert(LinkList &L,int i,int e){ LinkList p=L; int j=1; while (j<i&&p->next!=NULL){ p=p->next; j++; } if(j>i||p->next==NULL){ cout<<"error"<<endl; return 0; }else { LinkList q=(LinkList)malloc (sizeof (LNode)); q->data=e; q->next=p->next; p->next=q;return 1; }}int ListDelete(LinkList &L,int i,int &e){ LinkList p=L; int j=1; while(j<i&&p->next!=NULL){ p=p->next; j++; } if(j>i||p->next==NULL){ cout<<"error"<<endl; return 0; }else e=p->next->data; p->next=p->next->next; return 1; }void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc){ LinkList pa,pb,pc; Lc=(LinkList)malloc(sizeof(LNode)); pc=Lc; pa=La->next; pb=Lb->next; while(pa!=NULL&&pb!=NULL){ if(pa->data < pb->data){ pc->next=pa; pc=pa; pa=pa->next; }else{ pc->next=pb; pc=pb; pb=pb->next; } } if(pa){ pc->next=pa; }else{ pc->next=pb; }free(La);free(Lb);}int main(){ LinkList La,Lb,Lc; int n; cin>>n; CreatList(La,n); CreatList(Lb,n); //CreatList(Lc,2*n); //Lc=(LinkList)malloc(sizeof(LNode)); //ShowList(La); //ShowList(Lb); /* int get; if(GetElem_L( L,2,get)) cout<<get<<endl;*/ //int ins=100;// if( ListInsert(L,2,100) ){// ShowList(L);// }// int del;// if( ListDelete( L,4,del) ){// ShowList(L);// cout<<del<<endl;// } MergeList(La,Lb,Lc); ShowList(Lc); return 0;}
链式线性表
0 0
- 链式线性表的操作
- 线性表的链式操作
- 线性表的链式存储(单链表)的基本操作
- 线性表的链式存储的插入与删除操作
- 线性表的定义与操作---链式表
- 线性表的定义与操作-链式表
- 线性表的链式存储结构与操作
- 线性表的链式存储及相关操作 C语言版
- 线性表的链式存储结构及操作
- 链式结构实现线性表的基本操作
- 【线性表】顺序存储、链式存储的实现及操作
- 线性表的链式存储与基本操作
- 线性表的链式存储及相关操作
- 队列的一些操作(线性表,链式)
- 线性表单链式存储结构的操作
- 链式线性表的实现
- 线性表的链式存储
- 线性表的链式表示
- iO开发手动配置.pch文件
- 找不到android.support.v4.view.ViewPager
- SSH学习笔记---struts2 spring集成时action的class的值
- html5 输入框提示文字
- 2016-3-25
- 链式线性表的操作
- 用scrapy爬取网页数据
- Spark 性能相关参数配置详解-任务调度篇
- 操作系统学习笔记(三)--进程
- 进程间的几种通信方式
- 创建和导出SVG的技巧
- poj 3186 Treats for the Cows 动态规划
- 正则表达式\b
- PHP中==和===的区别