链表
来源:互联网 发布:java多态的机制是什么 编辑:程序博客网 时间:2024/05/16 07:17
//单链表中节点类型的描述typedef struct{ElemType data;struct LNode *next;}LNode,*LinkList;//头插法建立单链表LinkList CreatList1(LinkList &L){int x;LNode *s;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;//初始为空链表 scanf("%d",&x);while(x!=9999){s=(LNode*)malloc(sizeof(LNode));s->data=x;s->next=L->next;L->next=s;scanf("%d",&x);}return L;} //尾插法建立单链表LinkList CreatList(LinkList &L){int x;L=(LinkList)malloc(sizeof(LNode));LNode *s,*r=L;//r为表尾指针 scanf("%d",&x);while(x!=9999){s=(LNode*)malloc(sizeof(LNode));s->data=x;r->next=s;r=s;//r=r->next;scanf("%d",&x);}r->next=NULL;return L;}//按序号查找结点值 LNode *GetElem(LinkList L,int i){LNode *s=L->next;//头结点指针赋给s if(i==0)return L;if(i<0||i>L.length)return NUll;//i无效,返回NULL while(s&&j<i){s=s->next;j++;}//for(int j=1;j<i;j++)//s=s->next;return s;}//按值查找表结点 LNode *LocateElem(LinkList L,ElemType e){LNode *s=L->next;while(s!=NULL&&s->data!=e)s=s->next;return s;}//插入结点操作//将值为x的新结点 *s插入到单链表第i个位置p=GetElem(L,i-1);s->next=p->next;p->next=s;//将 *s插入到*p前边s->next=p->next;p->next=s;temp=s->data;s->data=p->data;p->data=temp; //删除结点操作//删除第i个结点p=GetElemtype(L,i-1);q=p->next;p->next=q->next;free(q);//删除结点*p q=p->next;p->data=p->next->data;p->next=q->next;free(q);//双链表中结点类型的描述typedef struct DNode{ElemType data;struct DNode *prior,*next;}DNode,*DLinkList; //双链表插入结点操作(在p之后插入结点*s) p->next->prior=s;s->next=p->next;p->next=s;s->prior=p;//双链表删除结点操作(删除结点*p的后续结点*q) q->next->prior=p;p->next=q->next;free(q);//静态链表结构类型的描述#define MaxSize 50typedef struct{ElemType data[MaxSize];int next}SLinkList[MaxSize];
阅读全文
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 点击一个页面的按钮跳转到另一个页面,让不同的选项卡显示
- 顺序表
- Android Wi-Fi TCP/IP简介
- BLE 绑定流程(转自襄坤在线)
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- 链表
- 反射获取方法名及参数名,反射获取参数作为对象使用
- python 3.5 原码包编译安装之后,方向箭头不能使用。缺少readline-devel*软件包
- HDU 5688 16百度之星预选赛D
- scikit-learn sklearn 0.18 官方文档中文版
- WindowsAPI关机、重启
- LOAD/STORE MULTIPLE
- Android中Handler机制浅淡
- 练习 2-6 编写一个函数setbits(x, p, n, y),该函数返回对x执行下列操作后的结果值:将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。