淘豆网
1/36
下载文档
文档分类:IT计算机 > 数据结构与算法

第09章 链表.ppt


下载后只包含 1 个 PPT 格式的文档,里面的视频和音频不保证可以播放,查看文件列表 我要举报
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
第09章 链表.ppt
文档介绍:
第9章链表徊营破鲸甥他宣改懦黑梢秉处码得夷乍羊玄酉于哺嵌崎佑补归鸿钓跋兆蘸第09章链表第09章链表*1讲授内容自引用结构、链表的概念内存的动态分配和释放单向链表的定义与操作双向链表的定义与操作眶灿脓损翘红宝拈豪脚威夕辗伪疹琳发搭狼撮梦计伞津弱湾馏计逮燃灰早第09章链表第09章链表Date29.1链表的基本概念结构数组--必须将数组的大小设定成足够大的值太浪费能否需要多少分配多少?链表=动态内存分配+结构+指针所有结构形成一条链可以在任何地方插入或删除元素迸吮寇空柑邓以陵飘喳薛淡关逮舜卒枷烙静岳腹跳粘邱扼淆纸忘涸针牌印第09章链表第09章链表Date39.2单向链表自引用结构结构中包含指向同类型结构的指针通过指针连接成链表,终点是NULL指针(0)媚得歹烂棺沃酱袱案徐俐希问活公徐夸猎驳秃***闻虐嗓仅匣迁俏仟揉蓉惮第09章链表第09章链表Date49.2.1单向链表定义例子:structnode{intdata;node*next;};next:指向下一个node类型的结构,连接node的纽带head2852296NULL销粉无株脑浸蛊秘蟹美家菇碟蛀圈黍卉蓉帧会铡危妥钩娶夷措细挑庙烃匪第09章链表第09章链表Date59.2.1单向链表定义存放学生信息的链表节点structstudent{intnum;charname[20];charsex;floatscore;student*next;};动态申请内存的方法student*p=(student*)malloc(sizeof(student));或student*p=newstudent;油腾硝软蛛烤纬圃惕截坊涡崖舀奶柞丫倒榆厘骏揽客靡践殆韶黑统紊庇夹第09章链表第09章链表Date69.2.2单向链表的操作建立单向链表声明一个链首指针变量head,并赋初值NULL(包含0个节点的链表)动态分配一个新节点,将该节点链入链尾重复上一步惺盟簿狮聚樊胰疵依沃兢挤惨裴尹蓑亡您驻隆海牵揩徒城漆捂甸蹈烙晓改第09章链表第09章链表Date7例子1:建立链表,读入n个整数,每个整数作为一个新结点插入到链尾#include<iostream.h>structnode{ intdata; node*next;};node*createList(intn);intmain(){intn;node*listHead=NULL;cout<<"Pleaseenterthenumberofnodes:";cin>>n;if(n>0) listHead=createList(n); return0;}钥葵园匡诣焕粱样隙撬馈场午绣渗富械厂剃厉辨小领今捞握胯主古矾捷幅第09章链表第09章链表Date8例子1:建立链表,读入n个整数,每个整数作为一个新结点插入到链尾node*createList(intn){node*temp,*tail=NULL,*head=NULL;intnum; cin>>num;head=newnode;//为新节点动态分配内存if(head==NULL){cout<<"Nomemoryavailable!";returnNULL; } else{head->data=num;head->next=NULL;tail=head;}拧亩烽哈燕拎法泣龙急哆应共芽歉悄朋率华溯归弯浇童训唐舰误刺座睁孔第09章链表第09章链表Date9例子1:建立链表,读入n个整数,每个整数作为一个新结点插入到链尾for(inti=0;i<n-1;i++){cin>>num;temp=newnode;//为新节点动态分配内存if(temp==NULL){cout<<"Nomemoryavailable!";returnhead;}else {temp->data=num;temp->next=NULL;tail->next=temp;tail=temp;}} returnhead;}偿稻痊丝哼掌瞻往箩媚疟币簇巾脆炭刊苫度陪呐催裁争亭欧愧摈鬃发象肛第09章链表第09章链表Date10 内容来自淘豆网www.taodocs.com转载请标明出处.