数据结构及单链表_第1页
数据结构及单链表_第2页
数据结构及单链表_第3页
数据结构及单链表_第4页
数据结构及单链表_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.2数据结构定义及概念1.1什么是数据结构建立数学模型是分析具体问题的过程,包括:分析具体问题中操作对象找出这些对象间的关系,并用数学语言描述数学模型分两类:

1)数值计算类:例:根据三条边,求三角形面积。假定:三条边依次为a,b,c三个实型数, 满足:a>0,b>0,c>0,a+b>c,b+c>a,c+a>b,则s=area=

12)非数值计算类: 例1:5个整数组成的集合:

D={20,-5,66,15,44}

其中:20,-5,66等称为数据元素(元素), 元素与元素之间关系是它们同属于集合D。

D={20,-5,66,15,44}是一个数据对象 例2:一列整数:(线性结构) L=(20,-5,66,15,44) 其中:元素与元素之间在L中是前后关系或线性关系。

L=(20,-5,66,15,44)是一个线性表。2例3一张登记表DL

序号姓名性别年龄

1李刚男25记录12王霞女29记录23刘大海男40记录34李爱林男44记录4其中:姓名、性别、年龄是数据项(item)、数据域(field);(姓名,性别,年龄)是记录(record),C语言将"记录"(record)定义为”结构”(struct);登记表也是一个线性表。3例4树状结构其中:A、B、C等是结点(node);A与B,B与E,A与C之间是层次关系或父子关系。河南工业大学(A)电气学院(B)管理学院(C)理学院(D)自动化系(E)电气系(F)测控系(G)4例5图状结构ABDCEFG其中:A、B、C等是顶点(vertex),

图中任意两个顶点之间都可能有关系。5例6田径赛的时间安排问题(无向图的着色问题):设有六个比赛项目,规定每个选手至多可参加三个项目,有五人报名参加比赛(如下表所示)设计比赛日程表,使得在尽可能短的时间内完成比赛。姓名项目项目项目丁一跳高跳远100马二标枪铅球张三标枪100200李四铅球200跳高王五跳远2006用如下六个不同的代号代表不同的项目:跳高跳远标枪铅球100米200米

A B CDEF用顶点代表比赛项目不能同时进行比赛的项目之间 连上一条边。某选手比赛的项目必定有边相连 (不能同时比赛)。对图上的每个顶点染一种颜色,并且要求有线相连的两个顶点不能具有相同颜色,而总的颜色种类应尽可能地少。同色可以同时比赛。姓名项目1项目2项目3丁一

A

B

E马二

C

D

张三

C

E

F李四

D

F

A王五

B

F7姓名项目1项目2项目3丁一

A

B

E马二

C

D

张三

C

E

F李四

D

F

A王五

B

FAEBFDC比赛时间比赛项目1A,C2B,D3E4F只需安排四个单位时间进行比赛8综上几个例子可见,描述这类非数值问题的数学模型不再是数学方程,而是诸如表、树和图之类的数据结构。9计算详机内缝的数值颤运算依靠星方程冰式,兼而非数房诚值运屠算(如某表、飞树、餐图等杂)则南要依哨靠数强据结孔构同样椅的数院据对注象,注用不亚同的回数据阻结构逢来表先示,法运算查效率欢可能界有明粪显的油差异炸。程序砍设计伴的实洒质是对欺实际纽奉问题简选择棒一个馅好的将数据们结构叙,加依之设宴计一捆个好用的算炸法。备而好桃的算卸法在仰很大典程度仪上取倡决于狂描述室实际声问题曾的数率据结宏构。算法+数据迎结构=程序19谢76年,蓄瑞士N.级Wi作rt逢h教授101.坟2基本孟概念茂和术市语数据(D怜at词a)略:是对溪信息花的一斗种符酬号表井示。撤在计鉴算机炊科学心中是持指所帽有能绢输入制到计离算机铸中并有被计贡算机皇程序育处理驶的符疯号的粪总称姨。数据左元素(D保at泡a兼El纤em饼en种t)瞎:是数泛据的爆基本口单位划,在昂计算柔机程务序中叹通常秩作为御一个沃整体魄进行迟考虑誓和处四理。驱一个删数据暴元素泪可由它若干缓个数厌据项受组成容。数篇据项狸是数存据的漠不可灭分割酸的最售小单搅位。数据绪对象(D协at达a御Ob祥je币ct欲):是烛性质忽相同项的数歌据元势素的侧集合齐。是夏数据照的一茂个子被集。11数据旁结构数据遵结构膊定惰义1-蜻--毅-在任骑何问惹题中盘,数蚂据元岂素都阅不是百孤立造存在饿的,魔而是尘在它贱们之土间存斧在着额某种跟关系赏,这舌种数奸据元合素相娃互之碌间的裁关系恒称为脂结构(S解tr与uc池tu登re辫)。数据触结构铺的形溉式定咏义为寇:数血据结谁构是把一个芬二元缘瑞组Da章ta影_S并tr趣uc烈tu柄re知=诵(沾D,S)(1-1)其中尚:D是数逃据元或素的蹦有限渔集,S是D上关屿系的茂有限封集。数据末结构倒主要递指逻辑念结构和物理现结构12数据徒之间将的相脸互关抬系称借为逻辑性结构,即全从逻料辑关锤系上貌描述棒数据储,与凯数据闲的存铅储无炎关,近是独琴立于错计算跑机的蹲。通常号分为挣四类控基本驴结构:集合结构翠中的那数据啊元素代除了鸭同属晨于一茧种类誓型外撇,别白无其巴它关医系。线性县结构结构叹中的叙数据刊元素概之间弓存在怖一对静一的舅关系康。树形愿结构结构浪中的称数据际元素较之间铲存在对一对闯多的千关系腊。图状辫结构抽或网锐状结掩构结构坡中的喂数据扔元素把之间汽存在蛙多对响多的醉关系13物理脏结构亦称存储倦结构,是捕数据风的逻存辑结发构在勾计算坏机存尾储器誉内的谱表示典(或撕映像旺),系依赖那于计坑算机抬。存储肚结构械可分泪为4大类突:顺序狸、链冰式、善索引春、哈估希14顺序艺存储栽结构数据触结点肯结构把逻雹辑上掩相邻诵的结暖点存为储在重物理暮位置余相邻迁的存械储单返元里絮,数倦据元肝素之踩间的旋逻辑恳关系弟由存尝储单四元的然邻接裁关系鸭来体挠现,软通常个在程州序设洗计中牧用数炸组表揉示。顺序轻存储忧是把督数据圣元素旋按某冈种顺凳序存亮放在栗一块体连续暖的存姐储单灰元中晨的存谷储形谈式。连续础存放熄。逻惑辑上帮相邻暴,物绸理上需也相涉邻;结构姓简单僵,易顷实现仓;插入却、删之除操蚁作不咸便(容需大描量移赶动元错素)踩。15链式兵存储葛结构数据奶结点涌结构逻辑晚上相杠邻的磨结点喊在物宝理位帽置可伶不相捎邻。最结点诞之间绵的逻迹辑关景系是挎由附扰加的鸟指针恼字段荐表示魔的。轰即在斗每一末格数可据元厦素中保增加辽一个瓶存放铜地址遵的指尼针,办用指铺针来边表示告数据树元素谱之间象的逻攀辑关跪系。滔以链谨表形刷式将规数据坚元素雨存放讯于任焦意存仆储单胳元中尼,可铃连续龟存放稻,也番可以竖不连畜续存价放,论以指改针实附现链延表间诱的联哭系。培通常呼用程踩序设沫计语袄言中辨的指邻针类委型来扁描述。非连跨续存嫁放,扯借助聋指针脉来表改示元犬素间董的关所系;插入庸、删陵除操离作简辉单,匆只要剑修改烟指针谣即可坏;结构烦较复裙杂,雹需要吐额外身存储厕空间孕。16索引崇存储锁结构数据姐结点叶结构在建口立结协点信膊息的杨同时话,建域立附固加的粮索引北表。赵索引嘱表中迷的每礼一项谷称为布索引舰项,梅索引叨项的裂一般血形式葛是:吧(关蜓键字正、地危址)箩,关与键字栏是唯台一标变识一草个结庸点的裁那些性数据臭项。誉每个炉结点颤在索勺引表盲中对耐应一呼个索靠引项麻,称棵该索瞎引表绢为稠洲密索省引,你一组岗结点祝在索恩引表尽中对忌应一谜个索其引项赖称该幻玉索引怎表为预稀疏煌索引朝。通捷过索臂引表把记录寄逻辑菠号(阅记录兆号)抖和物盛理号占(存饲储序聋号)该之间完的对甘应关辛系。非连召续存撤放;检索讲速度迎快;增、宅删操缩慧作简命单。17散列笋存储魂结构在数凉据元艰素与嘴存储冷位置风之间递建立贱一种案存储播关系F,根鄙据这哀种关捐系F,已识知元挎素E,就匪可以碍得到塔的存游储地雁址,驻即D=勉F(E)。活哈希躺查找贯中的勤哈希筛表就医是这述样一凯种存么储结笛构。特点赏:数据我元素染间无你内在祸联系丙;存储海形式津不定榨。18例:饶复数3.骂0-2.妻3i的两烤种存巡寿储方貌式:-2.303043.00300040803043.003000408-2.3法1:地屯址倦内保容法2:地贩址歼内径容19同一线种逻怒辑结芹构可沾采用谢不同税的存甲储方女法(洒以上掏四种握之一睬或组挣合)巨,这螺主要旺考虑患的是糠运算垄方便衣及算厘法的贞时空爪要求数据忧结构贸基本霞操作创的实呆现:珠基本铸操作什在计习算机山上的叛实现咬(方宵法)2021逻辑赏结构而和存策储结中构的销关系数据蜓的逻贯辑结佩构是挨从逻装辑关酷系(畜某种堤顺序纯)上遮观察役数据宽,它僚是独且立于拍计算僚机的迹;可昌以在右理论取上、村形式味上进怪行研疗究、四推理育、运辉算等秒各种极操作链。数据套的存狭储结箱构是秆逻辑踏结构全在计逐算机窃中的逗实现拥,是泳依赖叶于计讨算机趋的;券离开环了机限器,蒙则无产法进说行任聚何操啄作。任何喝一个蛙算法辞的设汤计取煤决于短选定懂的逻乓辑结适构;求而算花法的捡最终拼实现讯依赖存于采脊用的叶存储棋结构情。22如何晃描述下存储洪结构可以存借用仰高级卧程序节语言软中提欧供的糊“且数据遣类型障”来犁描述手它.例如:可以玻用“一坡维数船组”扇类型岂来描闻述顺敞序存树储结胶构,以C语言暂提供冤的“指熔针”李来描讽述链鼠式存疤储结益构假如效把C语言镜看成声是一扰个执择行C指令贞和C数据露类型青的虚阴拟处街理器篇,那废么讨永论的虽存储草结构胆是数鸟据结蹄构在C虚拟迷处理俩器中纷的表普示,傻不妨涉称它肯为虚拟虾存储榜结构23数据炉的存茅储结解构可用C戚语言膏的数红据类决型描以述(所定义浸)的叶,主处要用碎到下鸽列数监据类蛮型:肿数组锡,结海构,氧指针1街数组数组筋类型量变量盒(数晴组变挥量)芽由一烘组类砌型相泽同的残数据脂元素墨组成数组歉的类个型定猫义和群变量宝定义ty兼pe律de而f族数须组元枪素类漫型名摇数组王类型包名[证常量篮表达侍式]娃;数组狂类型芬名赶数组趴变量且名;例昏某班挑30末个学呼生的至数学绢成绩森,可城以用睬有3新0个直分量样的整耳型数遭组变锤量存衔储。Ty塔pe炉de厅f乐in安t蚀Sc钢or撑es嫁[3启0]海;Sc奋or逮es愿c规la贯ss添05舌1;24该数变组在伸内存驳中的带存储嗓示意稻图cl圾as伏s0复510x坏FF宿000x筛FF冤040x鬼FF央080x讽FF络7485776882252结构结构催类型摄变量脾(结厉构变纽奉量)饱由一宋组类斯型可宰以不子同的般数据虹元素逐组成结构舱的类祖型定尿义和缩慧变量纯定义ty保pe迹de加f结构迫定义悼结构锻类型茎名;结构例类型驶名则结佛构变让量名局;例蜡一本糠书可血以用次有2个成带员(敢数据似域)烦的结脏构变肆量存匆储。Ty赵pe化de陆f毫st俊ru粗ct碌{in之t老no肾;ch梯ar绑t钢it眉le勉[4立0]负;}B叙oo热kT陆yp里e;Bo寒ok片Ty难pe稀b恒oo假k1留;26该结啄构变驰量在甚内存捉中的星存储对示意毅图0x甜FF举000x号FF捐040x告FF现050x姨FF2B15离4685(0x母00图025逐C3饮D)‘D枣’‘A阳’‘T税’‘A宋’‘S擦’‘T左’…bo提ok熊1noti冈tl疲e3D5C0200273翅指针指针震类型椅变量激(指资针变突量)慕用于炎存储载变量换地址弹(或兔称指吴向该侄变量万)指针黎的类糖型定唉义和赏变量斗定义ty逝pe稍de腥f灰结益构定害义严*振指针类的类痰型名态;指针详的类筒型名检指追针变突量名例ty列pe科de蜘f断st摄ru索ct杠{in剩t波n档o;ch科ar血t丘it紫le狭;}*发Bo范ok龟Pt崖r;Bo沿ok杏Pt对r菊p灵bo炭ok却;28该变忘量在抬内存狠中的难存储郊示意叼图0x载AF息000x齐AF召040x装AF歪050x状AF2B15倡4685‘D形’‘A汇’‘T屋’‘A网’‘S纵’‘T革’……0x灵AF倡00noti梁tl赞e0x童EF坡20pb索oo笨kbo挥ok灯129线性链表线性母结构裙的特尚点熟练脱掌握胜两种选存储浪结构赶的描成述方疏法。我链表征是本茧章的袋重点顿和难福点熟练狼掌握皆顺序遇表的率定义职与实肝现,唇包括器查找骡、插椅入、系删除环算法奋的实音现熟练菊掌握搏在各床种链喊表结纷构中挎实现甩线性厉表操条作的仓基本刘方法争,能半在实我际应记用中峰选用千适当疯的链胖表结填构302.堡1线性舅表的坦类型禁定义(a1,转a2,煤…ai-守1,ai,ai+1,…,an)1.线性继表的熟定义攻:是n个数挠据元为素的孟有限看序列n=寇0时称棋为数据截元素线性祸起点ai的直氧接前架趋ai的直雅接后层继下标顷,是元诊素的软序号遵,表使示元杆素在寨表中扁的位述置n为元绑素总耻个数敲,即暂表长空表线性垒终点31例即分喷析26个英愁文字筝母组农成的剥英文启表(A,后B,吸C,吼D,职…匆…贫,拳Z)学号姓名性别年龄班级2001011810205于春梅女

18计016班2001011810260何仕鹏男

18计017班2001011810284王爽女

18计011班2001011810360王亚武男

18计012班:::::例踢分考析学盐生情纯况登闪记表数据搂元素前都是驴记录;元素滨间关挖系是归线性数据撇元素赞都是深字母;元素远间关弱系是绒线性同一那线性糖表中拖的元昆素必录定具股有相驴同特蜘性32线性悉表的侵抽象拳数据医类型陈(AD缎T)其中恭只是扶一些霞基本龄操作漫,另技外可概以更凝复杂姿。如捆:将迁两个拆线性爬表合补并等尊。复央杂的趟操作服可用仍基本须操作格实现例2-律1利用吊两个论线性垮表LA和LB分别定表示版两个经集合A和B,现泰要求跟一个墙新的伙集合A=效A∪伴B。vo蛇id诱u早ni灵on郊(L掠is凉t皮&L世a,Li疾st绍L衔b)温{La斗_l兴en怨=L轰is滨tL衡en梁gt役h(赴La仗);Lb钩_l越en雾=L己is趣tL温en狗gt恒h(炭Lb康);fo患r(宵i=贺1;敲i<呜=l醋b-顶le俗n;粒i+奔+)都{Ge聋tE唯le伟m(搁lb,i,e)窑;if这(!贼Lo绣ca唉te扣El低em叮(L呆a,驴e期,轧eq勺ua煮l)径)明Li狂st嫂In米se做rt陡(L擦a,弦+许+L顽a_程le积n,抖e逆)}}33例2-淡2有线肆性表LA和LB,其岁元素跨均按泄非递集减有慢序排狠列,克编写喘一个真算法拿将它火们合精并成应一个挖线性词表LC,且LC的元月素也怀是按给非递惑减有章序排洽列。算法同思路疾:依滑次扫孕描通溜过LA和LB的元惯素,膀比较刷当前蚁的元溜素的烟值,悉将较陵小值湿的元刘素赋且给LC,如澡此直悟到一探个线伪性表秋扫描科完毕茶,然鉴后将青未完浆的那坑个顺骆序表汪中余驴下部烛分赋度给LC即可立。LC的容津量要嚷能够居容纳LA、LB两个蚊线性性表相作加的捕长度342.度2线性仇表的闻顺序暂表示毒和实橡现线性酷表的储顺序衫表示受又称手为顺偷序存伞储结压构或朱顺序赵映像逻辑秋上相尿邻,颜物理娱上也球相邻用一奶组地惧址连哭续的掘存储趣单元洒依次看存储环线性线表的川元素蚀,可非通过雾数组肿来实走现若已吓知表讲中首魂元素亡在存笋储器途中的泄位置屡,则废其他延元素亏存放青位置虏亦可熔求出潮(利哈用数勿组下扎标)35线性亮表(a极1,植a1狼,a银2,至..武.a嚷n)顺序们存储粱结构如的一维般形母式序号誉存制储状碑态关存储搂地址1耐b2b+净pi须b+抖(i烘-1矩)*弱pn支b+护(n捎-1期)*拉p自由唇区ma决xl斧en阔g和b+被(m睬ax食le衬ng桌-1婶)*间p其中障:豪b-娃--合-表混的首浇地址守/基岛地址抵/元公素a投1的钻地址吊。p-衰--殖-1肾个数答据元机素所呼占存剩储单睁元的薪数目需。ma促xl旋en添g-努--豪-最绕大长长度,璃为某妹个常碍数。

a1

a2

...

ai

...

an

//

//

//36线性省表顺涛序结中构在C语言赤中的诸定义其中油:Sq遗Li掏st胆--刃--结构呀类型权名La睬--农--结构益类型宋变量糊名La顽.l层en柜gt彻h-据--表长La矿.e链le备m[猪0]业--逮--匪a1La正.e部le御m[锻La土.l井en轿gt廊h-布1]氏--丧-a伐n#d展ef披in禾e利ma普xl班en按g做10究0st瞧ru门ct杰Sq谅Li晓st姐{El时em撤Ty杰pe脸e需le洪m[冤ma隐xl梯en斧g];//下标:0眉,1膏,.参..孔,m确ax梳le邮ng剧-1in县t俩le窑ng甜th凉;//表长};Sq微Li袭st辽L柜a;37线性嫁表的石顺序有存储倘结构灭定义燃(动倡态)#d结ef房诚in盗e嘴Li绣st尽_I难ni泡t_宣si苏ze骆1猪00#d真ef捆in红e述Li千st寨in及cr皇em绣en创t铃10st陪ru鸽ct寻Sq曾Li盘st键{El毅em役Ty行pe梨*励el牲em邮;in睬t弊l闷en笋gt损h;in什t社l佳is挥ts豆iz伙e;};38顺序南存储查结构尺的寻址招公式i=需1等2框i小n地址=冶b吨b+吃1反b+尸(i罗-1壤)p涛b+较(n德-1迹)p假设:线性盘表的俘首地金址为b,每个岸数据浩元素示占p个存贞储单元,则表咐中任羊意元暗素ai雅(1惠≤i捐≤n陶)的存踏储地痒址是:LO会C(愤i)碑=L栏OC荣(1篇)+碰(i扣-1月)*末p=b脂+(昌i-叠1)团*p甘(匪1≤父i≤惰n)例:假设b=平10歪24窝,杂p=拐4,塘i=及35LO确C(狗i)影=b赤+(暂i-瘦1)劣*p=1料02驳4+管(3厌5-脉1)合*4=1睬02支4+葵34框*4=1饿16汉0a1a2...ai...an//////39插入篇算法突实现汪举例设L.讯el窜em忍[0商..壁ma浑xl臭en敏g-秃1]中有le惰gt顾h个元诱素,奖在L.略el酷em罢[i氧-1哭]之插猾入新梯元素e,1<踢=i失<=度le拿ng熊th例.茧i=怪3,继e=态6,体le捷ng晋th菜=6插入6之前通:→网→屯→把→2澡5希8回2腊0渴30洞3咱5爱//闯/好/垒//0纱1液2贼3武4恼5土6麦7胁835程,3恼0,停20毅,8依次睁后移朽一个衡位置插入6之后楼:2辱5藏6弱8梯20颂3辟0勤35猛/疫/国//0英1采2积3陕4作5众6功7订840算法2.票4(p.漠24)插入暑操作拒移动素元素走次数密的分承析在(割a1律,a途2,泽..数.,径ai碍,.蜘..羡an含)中泪ai绞之前针插入轻新元及素e秘(音1倚<=胃i<地=n求+1莲)识,当点i概=足1功2概3遥j葛n板n+护1移动终元素傅次数分个数群:耍n茎n-仁1码n斤-2叠n-圈i+城1间1王0假定昌在各淹位置腔插入胜元素纲的概免率相丛同,拥则插租入一烟个元舟素时松移动定元素傍的平幅均值腾是n/梁2删除缎操作敌移动伍元素粘次数本的分做析当勿i=辣1梨2流3旱.局..劝i状.抹..紧n移动栗元素碌次数栗个数陵=坏n-蜓1难n-括2叨.阔..话n互-i赏.想..谢0假定啊在各酸位置坊插入自元素些的概衔率相喷同,哑则删铜除一谈个元框素时肢移动焦元素蜜的平羽均值失是(n吹-1肺)/积2算法2.秧7(p.罢26)41顺序采存储绸结构寸的评关价优点份:(1未)是一季种随删机存药取结离构,丸存取膝任何黎元素弱的时看间是呼一个返常数隔,速插度快午;(2帖)结构猎简单看,逻监辑上会相邻芳的元尽素在虫物理平上也腾是相好邻的茄;(3醉)不使知用指期针,惜节省炒存储稿空间脏。缺点典:(1痛)插入圾和删泥除元膨素要秆移动壮大量炕元素抢,消够耗大排量时令间;(2犁)需要红一个壁连续垒的存纳储空割间;(3亭)插入丸元素败可能袜发生激“溢愿出”阶;(4庄)自由村区中厌的存木储空距间不黑能被曾其它独数据余共享422.字3线性瞧表的孟链式昼存储着结构顺序黎表:努随机略存取链表短:逻增辑相订邻,偶物理春不一坐定相围邻特点每个样元素(表项)由结怜点(N仇od卵e)构成仿。线性含结构结点结可以贯不连情续存能储表可哪扩充适用感于存眨储空和间需糊求不屯定、侮插入争或删横除频捧繁的少情形da弓ta犁n牌ex郑ta1a2a3a4a5fi很rs朴t43fr调ee(a玻)可利植用存送储空勺间a0a2a1a3fr言eefi叠rs血t(b壶)经过置一段助运行通后的恰单链锤表结主构单链很表的牲存储犬映像442.日3.苍1线性跨链表用一丸组任透意的卧存储腊单元尼存储尘线性怀表的枕数据鉴元素莫,可刃以是早零散定分布腿在内笛存中活的任市意位议置上冲的。昨链表泳中结掌点的辽逻辑近次序滔和物暮理次惰序不凝一定美相同充。利用灵指针粉实现绘了用衬不相日邻的粥存储宣单元黑存放蜻逻辑泄上相谁邻的晋元素每个霞数据搂元素ai,除单存储路本身公信息宏外,冷还需房诚存储石其直想接后贪继的渣地址嫩(或遭位置寻)信炼息,贴这个胞信息造称为椒指针(p扩oi狗nt讯er互)或链(l司in脱k)结点数据斧域:晋元素夏本身购信息指针定域:草指示宿直接艺后继梢的存茂储位料置4531ZH壁AOQI盘ANSU两NLIZH萍OUWUZH翅EN尾GWA习NG^H例矩线具性表(Z她HA竟O,特QI凑AN嗓,S蠢UN其,L帮I,笑ZH瞧OU渡,W阻U,炒ZH砖EN锹G,今WA益NG帖)43131NU格LL3771925数据域指针域LIQIANSUNWANGWUZHAOZHENGZHOU存储地址1713192531374331H头指咱针46结点旅:数匠据元拿素的贡存储员映像认。由壮数据例域和队指针肆域两正部分项组成点;链表斩:n个结阿点由尖指针作链组平成一科个链衰表。裤它是重线性角表的煎链式摘存储欺映像侍,称禽为线弟性表刷的链黎式存范储结吴构。单链妄表、析双链喂表、功多链浊表、耗循环次链表脚:结点阻只有火一个鱼指针筛域的梅链表竖,称史为单浆链表粘或线烘性链白表;有两跑个指丙针域臣的链芦表,狱称为雁双链嘉表;有多既个指危针域恳的链弄表,砖称为校多链窃表;首尾把相接携的链套表称威为循吨环链弄表。47头指李针、肌头结华点和尽首元某结点头指袖针是防指向蚕链表杀中第脱一个拍结点姑(或牌为头芹结点墨或为齐首元佩结点惨)的兴指针睁。单链愚表可夫由一洞个头旅指针舟唯一扣确定皱。头结冷点是类在链区表的被首元洲结点妻之前贪附设塌的一腿个结架点;藏数据繁域内使只放辆空表歉标志籍和表辈长等图信息;首元禁结点赔是指允链表画中存影储线捧性表敲第一吨个数编据元灵素a1的结勺点48一个代线性离表的范逻辑其结构庄为:养(ZH伸AO猛,Q萄IA帐N,格SU绸N,歇LI桨,Z摩HO章U,临WU休,Z沈HE坑NG肿,W扰AN宪G),照其存栋储结营构用抚单链惠表表世示如晶下,请问刮其头蠢指针案的值组是多枣少?存储地址数据域指针域1LI437QIAN1313SUN119WANGNULL25WU3731ZHAO737ZHENG1943ZHOU25例:答:头指具针是胖指向墙链表尼中第现一个采结点气的指雅针,铁因此和关键妈是要姐寻找汇第一阿个结佣点的返地址揉。7ZHAOH31∴头遮指针吊的值即是3149上例蛋链表洁的逻架辑结薄构示丘意图甲有以夸下两冈种形起式:①ZHAOQIANLISUNZHOUWUZHENG/\WANGH②ZHAOQIANLISUNZHOUWUZHENG/\WANGH区别舅:①棵无渐头结候点业②农有川头结止点50单链筛表的C定义或ty走pe晴de旧f据st标ru冠ct巾n品od同e*蝴L昂Po霸in掏te替r;st市ru期ct火n细od午e{in鞋t精da董ta秒;LP冈oi辜nt茫er所n辣ex料t;};ty压pe蚀de所f柜st级ru狐ct旷n宝od弓e{in梁t互da奏ta捞;no坑de栗*恭n敞ex拉t;}*获Li假nk胶Li诵st胁;51单链蹲表的住插入在第宁一个需结点向前插充入ne露wn顷od宝e-变>n盲ex市t表=倚f仪ir箩st摔;fi杜rs阀t挺=化ne裙wn该od翼e;(插入前)(插入后)newnodenewnodefirst

first52da组tane汗xtqda恼tane懒xtda保tane农xtda猴tanu淹ll…手…fi超rs贯tda木tane喝xtda哥tane赏xtda诱tanu研ll…捎…fi册rs宿tda畅tane艳xtq53在链抹表中字间插喉入ne晌wn株od寸e-嗽>n宏ex诵t腊=录cu可rr密en禾t-罩>n帝ex晶t;cu棍rr简en犁t-适>n趋ex减t卸=密ne穿wn丈od隆e;(插入前)(插入后)newnodecurrentnewnodecurrent54da高tane扑xtda由tane各xtda润tanu厕ll…患…da叶tane狠xtq…pda剧tane阴xtda珠tane康xtda侦tanu庙ll…宁…da蠢tane轿xtq…55在链拜表末萝尾插茫入ne舱wn捡od旁e-泻>n虾ex克t考=严c葡ur涉re饿nt纷->穿ne毫xt满;cu身rr和en面t-屑>n咳ex柔t子=怪n筐ew微no伶de;(插入前)(插入后)newnodenewnodecurrentcurrent56在链密表中漫设置矮头结忽点在链分表的冻首元争结点涛之前冲附设蹈的一安个头欣结点搅,该荣结点厦的数域据域刘中不龟存储骑线性铅表的间数据诱元素新,其示作用朋是为狱了对介链表眨进行飘操作锤时,题可以挎对空筋表、弄非空蜂表的律情况破以及季对首虎元结凤点进准行统设一处莲理,樱编程梢更方义便无头泛结点酿时,骡当头荣指针饺的值战为空朵时表愁示空理表;有头派结点分时,穷当头头结点腿的指升针域致为空域时表扎示空刷表57带头锈结点苗的单委链表色第棚一个弹结点结前插农入新菠结点fi姥rs街tne蚁wn疯od意efi剑rs宪tne蛾wn买od届e插入fi早rs扮tne画wn钻od荷e^fi附rs欲tne游wn岛od摔e^插入ppppne瓶wn再od势e->ne疾xt矛=减p->ne恳xt池;首p->ne拒xt娱=均ne衡wn排od挎e;58从带伞头结穗点的材单链抗表中林删除报第一撇个结摘点q铺=犁p->ne仿xt栏;p->ne宫xt起=着q->ne醉xt辨;de马le陶te碌q阅;fi烟rs见tfi椅rs嘴t(非空浇表)fi煮rs骑t^fi祖rs井t(空表格)^pqpq59P3芽0-静31算法2.蹈9、2.驴10、2.兆11、2.洲12就地购逆置强一个键带头羞结点扫的链科表静态兴链表据(自澡学)LN得od直e旱*p培,哪*h墙ea名d洒=盘ne桨w库LN纱od工e;//怀(L浩Po亮in滨te秩r)娱ma傲ll至oc纪(s尸iz休eo伸f(弟LN税od遍e)峡)//创建饲新头子结点wh撑il番e瞒(咱h音!=禽N守UL蠢L喷)津{p贪=居h;粱h纤=腔h-保>n事ex仓t;//摘下h链头烦结点p-租>n峰ex驰t聪=思he耻ad陕->捡ne矩xt怪;菊h催ea愁d-信>n贱ex耍t染=并p;//插入he叹ad链前锡端}h传=剑he隐ad搞->散ne支xt住;猪d债el响et攀e茎he旋ad盗;//重置h,删去he版ad头结葬点602.钥3.份2循环耀链表(C镜ir叉cu砖la指r严Li付st饥)循环角链表车是单陆链表腰的变糠形。循环昼链表宜最后甲一个珍结点宾的ne军xt指针扣不壳为NU革LL,而拐是指榜向了栋表的足前端根。为简词化操米作,泽在循垒环链夏表中律往往奴加入秩表头眼结点籍。循环竟链表哗的特傻点是菊:只舌要知壮道表闻中某嫌一结咏点的赖地址断,就畏可搜落寻到净所有火其他艳结点私的地潜址61循环爸链表税的示掩例带表洋头结狼点的诸循环鼠链表a1a2a3anfirstanfirsta2a1first(空表)(非空表)62循环字链表岔的运疮算与之单链滤表类快似,裂只是灾在涉屯及到嫩链头江与链溪尾的赵处理潮时稍理有不规同表尾血插入63用循蛾环链刃表求苗解约哲瑟夫吴问题约瑟节夫问膊题的转提法n个人待围成梨一个茶圆圈阶,首秋先第s个人尖从1开始聚逐个友顺时鲜针报甲数,报到勤第m个人死,令哨其出型列。病然后间再从律下一酒个人柳开始限,从1顺时富针报让数,晃报到貌第m个人塞,再躁令其筑出列努,…,如霞此下辫去,直到鉴圆圈铁中只职剩一塌个人并为止洲。此蛋人即缴为优馆胜者踢。[L茫ab愁I仇]64vo牵id张C鼠re缘瑞aL筛is走t(旅No认de压Ty钱pe序*厉*,票c命on撕st掌i触nt桃);/*创建烈单向米循环苍链表哀*///vo刻id醉C裳re会aL鼠is惜t(档No赢de触Ty毕pe浩*爪&,海c很on宵st湖i归nt愤);vo票id杆S快ta匹tG券am咐e(针No究de疲Ty挖pe蕉*炒*,椅i界nt的,顽in志t)胶;/*运行"约瑟男夫环"问题贴*/vo插id吗P午rn送tL阶is排t(沾No事de杠Ty敞p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论