链表及其简单操作
来源:互联网 发布:mac终端登录服务器 编辑:程序博客网 时间:2024/05/17 05:16
#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType inttypedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;int CreateLink_L(LinkList &L,int n){ LinkList p,q; int i; ElemType e; L = (LinkList)malloc(sizeof(LNode)); L->next = NULL; q = (LinkList)malloc(sizeof(LNode)); q = L; for (i=0; i<n; i++) { scanf("%d", &e); p = (LinkList)malloc(sizeof(LNode)); p->data=e; q->next=p; q=p; }p->next=NULL; return OK;}int LoadLink_L(LinkList &L){ LinkList p = L->next; if(p==NULL)printf("The List is empty!"); else { printf("The LinkList is:"); while(p!=NULL) { printf("%d ",p->data); p=p->next; } } printf("\n"); return OK;}int LinkInsert_L(LinkList &L,int i,ElemType e){ LinkList p,s; p=L; int j=0; while (p!=NULL&&j<i-1) {++j;p=p->next;} if (p==NULL||j>i-1) return ERROR; s=(LinkList) malloc (sizeof(LNode)); s->data=e; s->next=NULL; s->next=p->next; p->next=s; return OK;}int LinkDelete_L(LinkList &L,int i,ElemType &e){ LinkList p,q; p=L; int j=0; while (p->next&&j<i-1) {++j;p=p->next;} if (!(p->next)||j>i-1) return ERROR; q=p->next; e=q->data; p->next=q->next; free(q); return OK;}int main(){ LinkList T; int a,n,i; ElemType x,e; printf("Please input the init size of the linklist:\n"); scanf("%d",&n); printf("Please input the %d element of the linklist:\n", n); if(CreateLink_L(T,n)) { printf("A Link List Has Created.\n"); LoadLink_L(T); } while(1) { printf("1:Insert element\n2:Delete element\n3:Load all elements\n0:Exit\nPlease choose:\n"); scanf("%d",&a); switch(a) { case 1: scanf("%d%d",&i,&x); if(!LinkInsert_L(T,i,x)) printf("Insert Error!\n"); else printf("The Element %d is Successfully Inserted!\n", x); break; case 2: scanf("%d",&i); if(!LinkDelete_L(T,i,e)) printf("Delete Error!\n"); else printf("The Element %d is Successfully Deleted!\n", e); break; case 3: LoadLink_L(T); break; case 0: return 1; } }}
0 0
- 链表及其简单操作
- Spark:RDD及其简单操作
- 链表及其基本操作
- Java连接MySql数据库及其简单操作
- JavaScript位操作及其简单应用
- MySQL安装及其简单语法操作
- 链表基础操作及其逆置
- 链表基本操作及其反转
- java实现链表及其相关操作
- 循环链表的结构及其操作
- 链表简单操作
- 简单链表操作
- 简单链表操作
- 简单链表操作
- 链表简单操作
- 简单链表操作
- 链表简单操作
- 实现链表基本操作(简单操作)
- TreeSet详解
- ccf 送货
- OpenCV入门:简单图像处理实例——平滑滤波
- 两次BFS-简单搜索练习3
- SQL SERVER 2008 利用发布订阅方式实现数据库同步
- 链表及其简单操作
- iOS开发-给服务器发送JSON数据
- HTML插入Flash的全兼容完美解决方案-SWFObject
- 动态计算UITableViewcell的高度的实现
- 数据库三大范式
- Android 主题的更换支持在线主题
- matlab简单应用
- 一塌糊涂的code!!!
- pcf8951 ad/da(iic)转换模块 在 esp8266下的实现