數(shù)據(jù)的組織結(jié)構(gòu)二高級(jí)語(yǔ)言程序設(shè)計(jì)課件北京工業(yè)大學(xué)_第1頁(yè)
數(shù)據(jù)的組織結(jié)構(gòu)二高級(jí)語(yǔ)言程序設(shè)計(jì)課件北京工業(yè)大學(xué)_第2頁(yè)
數(shù)據(jù)的組織結(jié)構(gòu)二高級(jí)語(yǔ)言程序設(shè)計(jì)課件北京工業(yè)大學(xué)_第3頁(yè)
數(shù)據(jù)的組織結(jié)構(gòu)二高級(jí)語(yǔ)言程序設(shè)計(jì)課件北京工業(yè)大學(xué)_第4頁(yè)
數(shù)據(jù)的組織結(jié)構(gòu)二高級(jí)語(yǔ)言程序設(shè)計(jì)課件北京工業(yè)大學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6講數(shù)據(jù)的組織結(jié)構(gòu)(二)一、結(jié)構(gòu)體二、指針和引用三、動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間四、不同類型的函數(shù)參數(shù)總結(jié)五、鏈表六、文件七、聯(lián)合體與枚舉類型

一、結(jié)構(gòu)體如何表示多個(gè)不同類型的數(shù)據(jù)項(xiàng),這些數(shù)據(jù)項(xiàng)邏輯上構(gòu)成一個(gè)數(shù)據(jù)元素?如:每個(gè)學(xué)生都有學(xué)號(hào)、姓名每本書(shū)都有書(shū)號(hào)、書(shū)名、作者、出版社用結(jié)構(gòu)體類型來(lái)表示。struct<結(jié)構(gòu)體類型名>{ <數(shù)據(jù)類型><成員1>; <數(shù)據(jù)類型><成員1>;…… <數(shù)據(jù)類型><成員n>;};structpoint{ intx;inty;};structstudent{ intsNum;charname[10];};結(jié)構(gòu)體類型聲明聲明的是數(shù)據(jù)類型,不是變量!pointp1,p2;//對(duì)比:inti,j;studentzhang,wang;定義時(shí)初始化pointp1={1,1};studentzhang={1,"張一"};結(jié)構(gòu)體類型變量定義p1p1p111zhang1張一整型大小10個(gè)字符大小結(jié)構(gòu)體類型變量的成員變量的引用<結(jié)構(gòu)體變量名>.<成員名>p1.xp1.yzhang.sN即看成普通變量使用scanf("%d%d",&p1.x,&p1.y);scanf("%s",);printf("%s",);p1.x=1;="張一";同一結(jié)構(gòu)體類型變量可以賦值pointp1={1,2},p2;p2=p1;等同于:p2.x=p1.x;p2.y=p1.y;例:學(xué)生基本信息的組織學(xué)生信息:學(xué)號(hào)、姓名、出生日期、所屬院系、專業(yè)完成任務(wù)鍵盤輸入30個(gè)學(xué)生的信息、并屏幕輸出;鍵盤輸入月份和日期,查找并輸出本年度在給定日期之后過(guò)生日的學(xué)生信息例:學(xué)生基本信息的組織設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu):每個(gè)學(xué)生基本信息用結(jié)構(gòu)體描述學(xué)號(hào)intnum;姓名charname[24];出生日期自定義一個(gè)結(jié)構(gòu):年、月、日所屬院系chardepartment[48];專業(yè)charmajor[32];structDate{ /*日期結(jié)構(gòu)*/ intyear;intmonth;intday;};structStudentInfo{ /*學(xué)生信息結(jié)構(gòu)*/intnum;charname[24];Datebirthday;chardepartment[48];charmajor[32];};數(shù)據(jù)類型的別名用戶可以為已有的數(shù)據(jù)類型起別名語(yǔ)法:typedef

原數(shù)據(jù)類型新的數(shù)據(jù)類型名例如:typedefintxuehao;思考這樣做的好處?程序更加清晰易懂日期Date和學(xué)生信息StudentInfo結(jié)構(gòu)的另一種定義方式:typedefstruct{ /*日期結(jié)構(gòu)*/ intyear;intmonth;intday;}Date;typedefstruct{ /*學(xué)生信息結(jié)構(gòu)*/intnum;charname[24];Datebirthday;chardepartment[48];charmajor[32];}StudentInfo;30名學(xué)生用數(shù)組表示#defineNUM30StudentInfos[NUM];程序結(jié)構(gòu)設(shè)計(jì)給出每個(gè)函數(shù)的定義,包括:功能說(shuō)明,入口參數(shù),出口參數(shù)等。主模塊main()輸入模塊inputIofo()查詢處理模塊searchInfo()輸出模塊outputInfo輸入模塊voidinputInfo(StudentInfo[]);功能:將全部學(xué)生信息通過(guò)鍵盤輸入到StudentInfo[]數(shù)組。參數(shù):學(xué)生信息數(shù)組。返回值:沒(méi)有。輸出模塊voidoutputInfo(StudentInfo[]);功能:格式化輸出StudentInfo[]數(shù)組中的全部學(xué)生信息。參數(shù):學(xué)生信息數(shù)組。返回值:沒(méi)有。查詢處理模塊voidsearchInfo(StudentInfo[],DATE);功能:查找并輸出StudentInfo[]數(shù)組中,DATE之后過(guò)生日的學(xué)生信息。參數(shù):學(xué)生信息數(shù)組。查找關(guān)鍵字:Date返回值:沒(méi)有。依據(jù)定義設(shè)計(jì)函數(shù)的流程,編寫(xiě)代碼。編寫(xiě)主模塊函數(shù)的代碼??磿?shū)P170,程序代碼。分析書(shū)中設(shè)計(jì)的優(yōu)缺點(diǎn)?結(jié)構(gòu)敢體應(yīng)竹用例翅題P1紗72,鍵單盤輸勇入10個(gè)整孟數(shù),耗將它灣們從衫小到缸大重寸新排由序,陜要求動(dòng)輸出問(wèn)排序蠢后的揪結(jié)果雀和排找序前林的位植置數(shù)據(jù)贊結(jié)構(gòu)用結(jié)臭構(gòu)體炸類型損將整備數(shù)和溪原始視位置茶綁在割一起ty沾pe股de搏fst窯ru緣瑞ct{in脫tda招ta賠;渴/士*整型類數(shù)值爪*/in近tpo剛s;高/倉(cāng)*原始將位置暈*/}D匯AT兆AT攪YP俱E;算法輸入浮:針載對(duì)本菠次任菌務(wù)修跪改輸出軌:針丙對(duì)本或次任蓮務(wù)修鍬改排序石:用惱以前活的函尺數(shù)例:抹模擬燥發(fā)撲趨克牌數(shù)據(jù)津結(jié)構(gòu)一張萌撲克謝牌的蟻表示一副裂撲克搭牌的多表示算法初始席化一稈副撲殿克牌洗牌發(fā)牌P1厘75二、餐指針指針囑類型悠變量訓(xùn)的定吸義<數(shù)據(jù)稿類型>諷*仿<指針霸類型膚變量尼名>in赴t*in答tp舟tr;ch伍ar擺*ch承pt揭r;in艱tp下tr0x濃00置12隸ff感78一個(gè)席地址荷大小ch機(jī)pt稀r0x巡壽00授12膏ff文70一個(gè)鋤地址冬大小指針巡壽是變般量是地購(gòu)址變?cè)琢恐羔槻哳愋吞孀兞糠傅囊胕n晝t*in病tp示tr;ch訂ar城*ch傭pt朗r;in術(shù)ti諒=數(shù)0;ch曉ar慨c盒=譜‘蓋a’;in謀tp以tr=&i;健//今i的地幣址賦徐給in則tp豪trch蓋pt罰r=&c;貴//發(fā)c的地優(yōu)址賦欲給ch墾pt遞rin益tp某tr0x憂00筐12恒ff案780x在00柔12店ff練78ch屢pt校r0x齡00目12賠ff評(píng)700x息00逮12困ff純700ain腔t*in惠tp椒tr;ch及ar險(xiǎn)*ch鞋pt貓r;in沙ti肥=廳0;ch片ar奮c祖=胡‘糠a’;in普tp梳t(yī)r=棚&i樂(lè);ch姜pt版r=掌&c勉;ci指針?lè)伦兞慨吽讣埖闹?in執(zhí)tp虜tr=婦30慘;在格蠻式化遞輸入訓(xùn)輸出援中的逗應(yīng)用pr逢in斯tf屑(“捧%d,什%c釀”,*in肅tp壺tr,傳*ch壟pt吼r);sc鏡an漂f(慚“%盾d%往c”,in匪tp偶tr,ch攻pt使r);in虛tp絨tr30in桐tp億tr急1in囑tp蔑tr推2NU捆LL指針蹤蝶變量傭可初喊始化草為空劫指針in培t儀*信in燃tp缺tr將1自=斤&i袖;in繁t印*腐in維tp紙tr院2損=NU肯LL;指針播賦值in營(yíng)tp取tr梳2農(nóng)=楊in馳tp勝tr很1;i指針?biāo)颈容^if盈(in飛tp溫tr伐2楊==擋i戲nt荒pt恥r1)…if雅(in露tp選tr禍2驕==NU問(wèn)LL)…if亡(擔(dān)!in抓tp貌tr離2)…指針蟻加減in年t*艱p華=窩da殼ta晝;衡/輝/p指向da出ta吃[0絹];即:&d租at斃a[釣0]p+府+;寄//并p指向da顆ta強(qiáng)[1腿];p討=聰p+件2;爽/風(fēng)/p指向da欲ta坦[3零];p遞=刺p-龍2;域/撈/p指向da逼ta甲[1鋸];p蓄=驕p+巡壽12息;界/紛/成為bu閃g;0旅1采2旦3戴4功5郵6走7肌8源9da牧tain污tda冊(cè)ta間[1準(zhǔn)0];例ch織ar逃*st擔(dān)rc挪hr色(c受ha釋r*s,嬸ch即arc)函數(shù)確定演某個(gè)可字符廳在字扒符串段中出逆現(xiàn)的揪位置s是字暫符串評(píng),c要找姐的字掛符st場(chǎng)rc梅hr函數(shù)灣返回努指向猛找到科的字熊符的透指針用此赴函數(shù)艙獲取袍指定襖字符漲在字退符串寸中的監(jiān)位置歇數(shù)目ch極ar障s插[]堂="召12引36來(lái).8夜7"描;in癢tp;p按=紛st狠rc揚(yáng)hr欠(s在,'昂.'鳴)-上s+啟1;pr般in紗tf("位置紋在:%d\測(cè)n"熟,p);st瓦rc錦hr函數(shù)閃返回麻指針盼,指顏針相聰減定另位位皂置例#i維nc瞧lu傻de絨"st寸di野o.魚(yú)h"#i東nc土lu或de罷"st臟ri續(xù)ng芳.h"in劉tma成in汁(i陜ntar遣gc,慎ch擔(dān)ar再*ar緒gv[]鑒){ch管ar槐b波[]關(guān)=神"果Go蔬od緩by顛e"呀;ch監(jiān)ar膜*pb=全&b堤[7半];wh屆il侍e(填-蹈-pb>=角&勉b[殊0]悔)pu敲tc編ha壞r(*pb);pu或tc悄ha乳r(蓋'\英n')巴;re刷tu饅rn摔0圍;}逆序?yàn)槭藏澝粗盖遽樧儓D量也惠要有托類型螺?指針?lè)蜃兞恐v所存互地址劑沒(méi)有愈區(qū)別但對(duì)督指針如變量頑所存停地址絹指向患的數(shù)睜據(jù)的補(bǔ)操作頸不同(不弄同數(shù)參據(jù)集泉合上室定義鍛的操汗作不餐同,漿如:恐指針標(biāo)加1的操斧作)指針產(chǎn)可指潔向各辟種數(shù)叼據(jù)類辨型,晨如基從本類貼型、算數(shù)組乒、函洪數(shù)、案對(duì)象馳、指些針等指針擱與數(shù)剃組數(shù)組債名是葵指向潮數(shù)組松第1個(gè)元層素的貿(mào)指針?lè)荩走@個(gè)鬼指針盛是常量;ch扁ar紫s秤tr蝦[]腿=楚{淡"p辛ro鄰gr龜am理"}乏;pr獲in繡tf思(“基%c阻\n昏”,虎*熟st屋r)蹈;只//打印ppr模in后tf末(“津%c駐\n什”,艷*目++宇st塞r)滋;森//錯(cuò)pr廢in究tf饞(“豎%c話\n帆”,奮*晌(1剪+s撤tr對(duì)))滲;糟//對(duì)ch研ar外*柏p;存p苦=s姥tr誰(shuí);pr裁in灘tf握(“顫%c押\n蜜”,沿*跡++神p)秘;勢(shì)//打印r指針撫與數(shù)之組數(shù)組殊名定購(gòu)位數(shù)莖組元喉素P1朗84圖6-說(shuō)14指針擊定位膠數(shù)組乒元素P1偽84圖6-怕15利用性指針件對(duì)數(shù)蓬組元剖素進(jìn)特行操賺作in款tia沒(méi)rr疊ay陰[2扔0]傻;in陜t*pt叼r;//方法半一fo視r(shí)(pt腿r=ia溪rr武ay叨,i=0震;醬i<敘20肌;負(fù)i+兔+伍)pr予in宵tf跪(“管%d”,章*關(guān)(pt段r+霉i)倆);//方法顯二fo飲r(pt棍r=ia遭rr蘭ay;pt噸r<i捕ar去ra愿y+援20曾;pt疤r++危)pr綿in須tf本(“灑%d”,桌*pt閥r);例6-歡4須P1眉85指針癥數(shù)組涂例子//打印曉整型拍數(shù)組嫌指定規(guī)的行園。j:行孤號(hào)(0開(kāi)始序),ro安wD:行長(zhǎng)愈度,p:指向泳數(shù)組幕第一惡個(gè)元講素的孝指針vo宿idpr恰_r井ow跑(i韻ntj,in懶tro享wD,in恐t*p搶){in按ti;p好=吵p隆+瀉(添j*ro磁wD)溉;fo肆r(志i婦=0賄;永i<ro參wD;扒i+泳+災(zāi))pr惠in敲tf姐(“寫(xiě)%d”,香*恒(p+社i)躍);}二維限數(shù)組膀與一于維指黨針數(shù)范組in亮ta[鞠3]批[2宇];a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]a[淹0]a[巖0]a[咬1]a[慌2]二維糖數(shù)組革與一望維指抵針數(shù)拼組in嫌ta[興3]秋[2疊];a[0][0]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]a[孝0]a[泰1]a[蓄2]a[及0]蓋,a[液1]濟(jì),壁a[著2],一席維數(shù)還組的擁首地慎址,梳是指截針。用指溫針定招位二攀維數(shù)遞組元赤素:i代表餓行,j代表角列in醬t*pt褲r=a滿[0鬧];惱元素測(cè):怕*(pt犁r+蔽i*列數(shù)+勵(lì)j)例:P1撇87#d蓋ef掉in據(jù)e促RO自WN鴉UM盟5#d籠ef作in減e鴨CO垮LN哀UM鑄4in醒ta[珍RO秘WN冤UM開(kāi)][宴CO止LN沈UM]燈;in擠t*p翻tr溝1鴉;pt蘭r1膨=嫌a須[0酸];fo崗r(裂i耽=0互;之i<用RO資WN妻UM盞;壁i+歸+辟)衛(wèi){fo索r(閣j撒=0解;沸j<冷CO財(cái)LN直UM芬;株j+饑+辟)pr費(fèi)in拘tf竄("襯%3滋d暮",摟*辣(p就tr模1+雷i*CO冬LN蟻UM奶+j)儉);pr跡in尼t(yī)f分("受\n")贊;}可替谷換:pt誤r1陸=改&蠅a[率0]熱[0里];pt掘r1暴=趁(in械t*)悲a候;例:P1薯87in貝t(*這pt拿r2斃)[CO鹿LNU鏈M]娘;pt遞r2跑=亦&典a[醬0]醫(yī);傅/忍/a[表0]是指栽針,象可以進(jìn):pt匠r2盡=披a旁;fo雨r(郊i結(jié)=0濃;司i<奶RO商WN比UM興;閥i+岡+伯)費(fèi){fo涂r(遣j蓄=0木;史j<栗CO租LN鬼UM叼;懼j+恩+褲)pr填in魚(yú)tf企("北%3撲d湖",窗*辦(妥*(仗pt住r2腰+i傻)+柔j)胖)差;pr肉in卸tf筍("扯\n")估;}書(shū)錯(cuò)in即t(*意pt啞r2蘆)[咸CO舞LN陸UM搜];與in材t*p瞎tr拌2[陽(yáng)CO稈LN渠UM廉];區(qū)別in萌t*p冶tr裝2[萍CO仁LN識(shí)UM介];//是整喉型指那針的憂數(shù)組in忠t(*鄉(xiāng)豐pt迫r2娘)[夫CO揚(yáng)LN聯(lián)UM忙];//指向訂整型嗓指針盟的指資針數(shù)恒組指針妻數(shù)組in定ta[祝10揀];in丙t*突b[止3]伸;b[甘0]杜=伍&然a[強(qiáng)0]欺;fo孔r(脅i辮=0稈;訊i<伙10懷;壘i+說(shuō)+熔)pr就in導(dǎo)tf鍋("蜻%3島d勺",窗*眾(柳b[族0]稱+i袋)扯);b是一桂個(gè)指右向指濫針的藍(lán)指針饞。0無(wú)1豈2玩3率4崇5隸6健7擦8爽9ab書(shū)學(xué)婦習(xí)書(shū)P1馳88,例6-誕5指向莊指針魂的指這針變儉量fl前oa攤t圾*仰*兄p;地址p地址值ma枯in雨()角{in騰tx,立*嬌p,**q;x笑=流0洋;p偉=限&x敏;q沙=喊&p期;pr珠in喪tf跳("橫%d",閘**歲q丘);//打印x的值}指針黑與字述符串字符理數(shù)組綢名是開(kāi)字符漿數(shù)組遷首地傻址,碑字符許串需鹿要有晝字符乖串結(jié)賓束符閉。ch頸ar文n單am丙e[零10筋]額=節(jié)"zh亂an步g";ch分ar壇*ch燦pt煌r=島na魯me毀;pr客in撕tf話("憲%s",鵲n暫am慕e)太;pr維in第tf林("垮%s",ch乒pt逃r);指針族與字爭(zhēng)符串早例子庫(kù)函的數(shù)st體rc餡mp()in縫tst柜rc掀mp披(c流ha賽r*s駐1,麻c寺ha猜r若*制s2濕){wh劉il硬e單(雁*s耽1至)賢/蠻/直到s1字符與串結(jié)咱尾才fa印ls少eif閘(粥*市s1頭-地*竹s鏈2渡)re錦tu第rn嬌*翁s1住-變*岸s遵2翁;el里se岸{s1抵++遣;威s漁2+但+;臭}re否tu送rn播0蟲(chóng);}例子奴:找拜出程逼序的哀錯(cuò)誤ma層in獨(dú)(){ch訊ar跌*血p,川s繡[8堵0]興;p匆=悼s;do毫{ge崖ts鋸(膽s隆);wh假il尺e憑(*蘆p)pr核in熱t(yī)f碰(“燦%c”,扇*扇p+蔥+)根;}縣wh購(gòu)il道e深(st色rc聲mp(憐s,塑“聾do羅ne發(fā)”)鳴)穿;}例子菊:正致確答蔬案ma型in扣(){ch約ar響*請(qǐng)p,晶s詠[8編0]演;do灶{p順=謹(jǐn)s;ge傭ts即(債s武);wh挪il吳e池(*該p)pr寒in存tf乎("寫(xiě)%c",破*蔑p+揉+)勉;}洽wh斯il趨e桑(st腎rc墾mp(誘s,讀"液do原ne蛾")果)流;}指向勾結(jié)構(gòu)沸體變蘆量的匯指針定義st詞ru籃ctSt騾ud戀en院t哪{in服tnu睡mb傭er絹;ch厲ar悄*田ne筍xt普;};使用St閱ud強(qiáng)en鄙tzh醉an晌g,慚*p懷;zh獵an挑g=飯{1班,”中zh奮an化gb昌o”挺};p搞=偏&zh伴an療g;pr柱in痛tf珍("慶%d",何p鉤->艘nu際mb柄er退);//等價(jià)罵:pr食in垮tf竭("動(dòng)%d",zh樣an農(nóng)g.態(tài)nu碗mb掛er);例:塵選舉雄問(wèn)題選舉病問(wèn)題士:某創(chuàng)部門袖,需泄要由綠全體萍員工捕推選裁一名頁(yè)辦公樸室主京任。徑假設(shè)怖有10名候慢選人招。編厚程序月依據(jù)乖每個(gè)燙候選泉人的睜得票涉數(shù)量葬,得挪票最問(wèn)多當(dāng)脂選,霉給出掠選舉援結(jié)果曠包括璃候選國(guó)人編止號(hào)和紐奉得票惠數(shù)。定義近結(jié)構(gòu)劫體:st奧ru涌ctCa案nd奧id愿at院e{in欄tnu獨(dú)mb給er俗;摘/截/候選志人號(hào)領(lǐng)碼in培tvo妻te融;肝/握/候選扎人得漫票數(shù)};in居tma橡in曲(){Ca恢nd準(zhǔn)id管at致e曾da跡ta灶[歇NU圓M融];Ca部nd留id慚at銷eMy植Se著le轎ct敗ed;in右pu撒t(娃da炮ta,喂NU襪M)荒;My墳Se狹le放ct攤ed=ma修x(海da顫ta,容NU卵M)飄;ou誕tp與ut追(My廢Se俗le橡ct敲ed);re虹tu區(qū)rn酸0您;}/*查找本得票揪最多遍的候天選人賺。參亡數(shù)…,返搭回值…。鴿*/Ca粘nd境id稅at含ema希x(生Ca晉nd赤id座at影eva垃lu語(yǔ)e[臺(tái)],in鳳tn){in拿ti;Ca海nd降id秘at彈e陳se淋le言ct盞ed滑;se蜓le環(huán)ct攏ed屈.v腥ot蒼e=對(duì)va霸lu背e[橋0]像.v表ot夢(mèng)e島;se疤le刑ct隱ed爸.n涉um校be籍r=仁va漿lu淺e[番0]唐.n磚um標(biāo)be于r;fo費(fèi)r(廚i套=1痛;暖i<海n;零i甚++他){if獻(xiàn)(va儉lu修e[慰i]叉.v鮮ot深e>se吸le庭ct跑ed友.v郵ot析e)自{se勾le躲ct肯ed蕩.v墳ot滾e=va父lu品e[聯(lián)i]旬.v甚ot規(guī)e;se浴le蝕ct遲ed奶.n謝um雹be娘r=va認(rèn)lu危e[善i]弄.n踏um歡be框r;}}re沾tu奸rn猜s若el哀ec便te塵d;}vo忌idou譜tp趨ut領(lǐng)(C乏an綢di尊da躬tese食le錘ct狐ed殖){pr炊in睜tf("當(dāng)選槳者是%d候選宋人。版得票美數(shù)%d。\n過(guò)",se箭le嶄ct迫ed襖.n逗um逗be憤r,決se南le裝ct屯ed叫.v準(zhǔn)ot跌e)頓;re蓮tu谷rn輸;}vo憶idin綱pu墨t(源Ca劃nd駛id塞at悠eva薄lu宮e[移],in浪tn){in羞ti趣;pr比in突tf("請(qǐng)輸?shù)娜?d個(gè)候咐選人更的號(hào)尸碼:",茂n)堂;fo羨r(倒i朽=0須;賄i<終n;器i事++捐){sc嶺an劃f(敢"%務(wù)d",改&va檔lu種e[逢i]拋.n防um胃be鐮r)窮;}pr礦in逗tf("請(qǐng)輸側(cè)入%d個(gè)候黑選人算的得駱票數(shù)棗:",糊n)汗;fo祖r(且i劑=0斬;話i<蛋n;店i鍋++奧){sc濾an除f(吸"%澡d",懶&va絮lu猾e[甲i]銅.v瀉ot叢e)鄙;}}結(jié)構(gòu)辨體成卸員是厲結(jié)構(gòu)抵體變普量的非指針st黃ru坐ctno信de圓{in煉tda想ta快;no謠de沈*們ne雷xt傾;};no蕩de播a辭,碌*p鹿;a效=耗{1偵,N渴UL蒸L}性;p怠=溜&a往;pr沉in任tf搶("蟻%d",殖p朱->由da賓ta顫);//等價(jià)孟:pr鞭in漲tf糊("煌%d",a.駝da插ta);三、普動(dòng)態(tài)柜申請(qǐng)質(zhì)存儲(chǔ)蘆空間庫(kù)函萌數(shù)中削動(dòng)態(tài)姻申請(qǐng)梳和釋痛放存掌儲(chǔ)空英間的錄函數(shù)法,包莖含:st帝dl怠ib坑.hvo兇id鋤*ma屈ll斃oc(in略tsi足ze匙)惑//申請(qǐng)vo脹id望f綁re械e(陳v腐oi俊d窗*p泰)沈//釋放例:in膛t*pt掘r=(in見(jiàn)t*)ma矛ll據(jù)oc(si疲ze檢of筋(i俘nt)*2最0滋);fr燙ee山(pt瘦r);為什疊么叫市動(dòng)態(tài)陸內(nèi)存好分配怨?數(shù)組螺:in帶ta[播10事];渣/禮/靜態(tài)值內(nèi)存宵分配動(dòng)態(tài)幅申請(qǐng)邀內(nèi)存濤空間情存儲(chǔ)孔數(shù)組in芹t*pt辭r=罵(in走t*)ma掛ll鄰oc怨(s斃iz鉆eo馳f(憲in敞t)*渡10谷)懇;比較糊:程序磨運(yùn)行券到此姜語(yǔ)句匯才分餓配內(nèi)塔存空志間必須翻釋放注意材內(nèi)存骨泄漏例6-躬6,P1幣90,構(gòu)磨造楊多輝三襯角形a……分析苦題目汗,設(shè)泥計(jì)數(shù)麥據(jù)結(jié)貿(mào)構(gòu)一維佳整型莖指針較數(shù)組動(dòng)態(tài)墾生成證整型膝數(shù)組別空間四、帳引用引用炕類型向變量定義裝:in女t&a筑;食//變量祝的別述名用法想:in頭t&a召;a雕=艇0;與地室址相繡關(guān)的腳運(yùn)算扔符:饒*觀&in太t*副p;省//聲明p是一休個(gè)i爽nt技型指藍(lán)針in吩ti扛=券0;in造t&rf=敘i;盆/棗/聲明分一個(gè)鍬in日t型的挪引用皂,r努f存妹in古t型迫數(shù)據(jù)煌的地榨址,//所以in丑t&rf=明0耽錯(cuò),但可御以in著trf(原0第);p光=形&頃i補(bǔ);pr恢in談tf抬("突%d輝\n",翠*支p)崖;偷//指針p所指非的內(nèi)虎容,*是指御針運(yùn)撞算符pr撫in吉tf復(fù)("嘴%d薄\n",鐵(牧*p葵)+絡(luò)+擠);收/煮/指針p貼所指鴿的內(nèi)隔容加蕩1pr清in犬tf隱("糖%d夫\n",燙*爛p)北;pr蠅in求tf捕("毅%d沉\n",rf);遷/艦/rf恢此時(shí)迫用i的值rf++祝;桿//亞引用貪數(shù)據(jù)酷加1p=釋&rf;pr商in州tf嘉("缸%d框\n",連*慢p)肅;五、都再談值函數(shù)悅和函鹽數(shù)參嘆數(shù)值傳顯遞:政變量望值做蔽函數(shù)村參數(shù)vo比id掘e裕xc師ha譯ng追1(憐in筍t田x佩,in析ty){in孝ts;s=搏x;速x=變y;憂y=特s;}ma遷in冶(){in奇tt1橡=1租,層t2陰=2誓;ex診ch普an階ge槽1(槽t1播,t距2)辮;}Ex夸ch章an謊ge宵1中對(duì)x,y的改夢(mèng)變不深影響t1,t2的值回。實(shí)騾際沒(méi)短有完辱成交蘆換功斷能。結(jié)論廉:值奇?zhèn)鬟f堵時(shí),旁被調(diào)啄用函窩數(shù)中新對(duì)參畏數(shù)值臘的改循變,芒不影稿響調(diào)慶用它巾的函唐數(shù)實(shí)巧參的欠值。地址逢傳遞鹿:指統(tǒng)針變挎量做膽函數(shù)忍參數(shù)vo嫩id溜e藍(lán)xc淺ha慘ng長(zhǎng)3(端in汁t銳*x,盤in專t*y肅){in淋ts;s=箭*x狡;貌*榆x=算*y星;忙*y賴=s伏;}ma洋in山(){in首tt1竄=1蛾,婆t2牲=2子;ex餅ch碌an摟ge揭3(扒&t論1,袖&t棗2)百;}Ex去ch記an掩ge尿3中對(duì)x,y所指呼值的仁改變炸使t1,t2的值陰發(fā)生貌改變令。完越成了景交換頌功能悠。結(jié)論絮:地瞧址傳逗遞時(shí)或,被擋調(diào)用殼函數(shù)精中對(duì)猶參數(shù)京值的沒(méi)改變陳,將墻影響虧調(diào)用牌它的完函數(shù)攀實(shí)參蚊的值猴。引用窮變量滾做函升數(shù)參吼數(shù)vo及id才e產(chǎn)xc注ha悲ng疏2(捆in勉t椅&x,詳in狹t&y采){in宿ts;s=賊x;垮x=訂y;傻y刃=s建;}ma麥in賭(){in衰tt1碑=1蛙,窩t2奧=2具;ex患ch志an博ge棋2(爽t1婦,t尤2)河;}Ex書(shū)ch殿an外ge刃2中對(duì)x,y的改舍變使t1,t2的值側(cè)發(fā)生研改變蹈。完成戰(zhàn)了交啄換功媽能。結(jié)論齡:地丟址傳倦遞時(shí)獻(xiàn),被業(yè)調(diào)用應(yīng)函數(shù)怠中對(duì)由參數(shù)津值的鐘改變雪,將哭影響趙調(diào)用縣它的嗎函數(shù)辜實(shí)參儉的值俗。數(shù)組林做函浸數(shù)參過(guò)數(shù)vo宰id鑰e梯xc奮ha灶ng混4(琴ch蘋(píng)ar倚*a,測(cè)ch撥ar*b誓){教ch伍ar瞇s屑[5邊];st吵rc倦py派(s聞,a);st該rc嚼py竿(a交,b);st猴rc吼py號(hào)(b浪,s);}ma灣in軌(){ch設(shè)ar柏t講3[愧5]倒="aa仆a";ch輝ar復(fù)t叫4[騾5]吼="bb冠b";ex挺ch顏an慶g4敬(t悟3,村t4條);}Ex揪ch扮an青ge紐奉4中對(duì)a,b的值決改變仰使t3,t4的值誤發(fā)生淋改變勁。完成咽了交羽換功堅(jiān)能。利用榮函數(shù)工返回碧值例彈題in汗tma填in睜(){ch身ar屋a惰;wh艦il曠e(劃1)呼{sc炸an蝴f(叮"%繼c"釣,&粱a);ge嫁tc瞧ha荷r()矛;if張(fu蓋n(苦a)班==桿-亂1荒)桐{pr掉in橫tf("出現(xiàn)工異常\n豎")注;br捎ea信k;}祖el錫sepr發(fā)in川tf嚷("偶%c減\n侵",易a);}陸re顛tu永rn添0蓮;浪}in脂tfu語(yǔ)n(常ch越ar&c準(zhǔn)){if碎(倚c>封='滑a'澤-1瞧&走&籌c<賽'z漢'){c+竹+;裕/午/處理cre紀(jì)tu計(jì)rn毒0收;}el撤sere飽tu斃rn巡壽-酒1;}指針傷型函財(cái)數(shù)函數(shù)婆的返火回值老為指功針(P吳19家9代碼)ch凳ar動(dòng)*st胖rs棵ub嶺(c苗ha綿r*st草r,in聾tst儀ar舉t,in欲tle華n){in插ti,焰n歐um射;ch創(chuàng)ar叨*p天;if源(st河rl覺(jué)en切(s禿tr)堵<職st毛ar井t襯)re旗tu射rn理N咱UL馳L;if債(s蓬tr金le慰n(購(gòu)st撒r)歐<st禿ar密t+封le再n)nu狡m償=st堆rl欺en燦(s移tr)熄–根st川ar膜t癥;el糖senu需m趴=le仍n;p=壘(c獸ha戰(zhàn)r*格)ma精ll略oc伸(s啞iz希eo講f(你ch漢ar)*塊(n陪um星+1榨))fo漲r(恐i=0痕;i掛<nu親m;善i++是)*(p+越i)鏟=欲*(st據(jù)r+滋st掙ar錦t+魄i);*(p+階i)術(shù)=歲‘\陜0’位;re孝tu棵rn腦p奪;}選舉肥的例捏子(初教育澇在線喪課件倘資料寄中有會(huì)完整打的例謙子)in電tma啄in橫(){in森tn唯=除NU投M濾;in屬t*介da喘ta代;in漆t(yī)My肯Se寫(xiě)le藥ct棕ed;in捎pu誤t(&蟻da命ta);My奇Se彈le敏ct帶ed=ma翻x(愚da腔ta,鮮n)煤;ou咐tp僚ut勵(lì)(My放Se粒le翻ct唉ed);re峽tu襲rn露0甲;}in蝴tin疫pu崖t(峰in終t**介va御lu顯e){in筆ti井;*v病al燭ue=(in肝t*)ma裙ll陸oc神(s村iz明eo闊f(物in纏t)*蜜NU犯M舌)獨(dú);if脅(侵!*v視al材ue)re濱tu稱rn遼-谷1;//斤-1代表厘申請(qǐng)百存儲(chǔ)椒空間泊失敗pr怨in航tf("請(qǐng)輸喜入%d個(gè)整稅型數(shù)灣:",食N閣UM造);fo供r(蟲(chóng)i促=0早;賞i<哥NU培M;蹄i芹++塊){sc膚an住f(滿"%獨(dú)d",*va施lu邊e+否i)距;}re或tu曬rn宵0欣;//函數(shù)蜻成功衛(wèi)返回}錯(cuò)誤指例子簡(jiǎn),錯(cuò)刃在哪割里?in匯tma獎(jiǎng)in險(xiǎn)(){in轎tn喊=拌NU堪M王;in場(chǎng)t*腸da償ta招;in乎tMy創(chuàng)Se碑le停ct臘ed;in織pu睜t(d報(bào)at爐a);My段Se棄le羽ct通ed=ma觸x(侄da夜ta,貼n)冊(cè);ou圾tp怖ut章(My雹Se塘le掘ct躁ed);re潑tu犬rn器0史;}in透tin競(jìng)pu倉(cāng)t(臟in湖t*v率al斤ue){in語(yǔ)ti蘭;va航lu裝e=(in殃t*)ma歪ll惑oc敘(s堤iz睛eo習(xí)f(嘴in毀t)*乘NU盞M悠)寸;if腫(鄭!va封lu棄e)re裂tu趟rn隔-解1;//虧-1代表顧申請(qǐng)留存儲(chǔ)就空間蕩失敗pr駁in低tf("請(qǐng)輸伍入%d個(gè)整鑰型數(shù)平:",例N碎UM余);fo踐r(奔i銷=0拼;桶i<蛾NU配M;魂i啟++消){sc薄an蓮f(份"%歐d",va趙lu煉e+錄i)夠;}re辛tu伍rn霉0僻;//函數(shù)憐成功狠返回}六、潛鏈表目的述:練勻習(xí)指惡針,竊初識(shí)懷數(shù)據(jù)疏結(jié)構(gòu)米。需要穿存儲(chǔ)是數(shù)據(jù)擇:(a驚1,a2,…a床n),使紫用怎辰樣的偷數(shù)據(jù)苦結(jié)構(gòu)秘?答案陡:數(shù)潤(rùn)組。in間tda哀ta幻玉[N];如果麻元素戒的個(gè)醉數(shù)在[1,n]之間粉動(dòng)態(tài)碗變化智,甚離至可影能超嘆過(guò)n,使發(fā)用怎竿樣的烘數(shù)據(jù)餡結(jié)構(gòu)周?答案飄:動(dòng)壯態(tài)生諸成數(shù)童組。p=姥(in捆t*)ma趕ll彼oc縣(s班iz巷eo扇f(wàn)(慶in自t)*扇N史)為;仍然紙要確事定存妙儲(chǔ)空煙間大篩小。使用慎鏈表訴結(jié)構(gòu)單鏈刃表鏈表臭特點(diǎn)局:不必碑預(yù)知株元素腐多少相鄰殿元素禍存儲(chǔ)墓空間教不必漆連續(xù)數(shù)組膠特點(diǎn)睬:預(yù)知霜元素財(cái)多少珠,且累變化難不大票的連續(xù)鋒的存爽儲(chǔ)空幫間a1La2an…構(gòu)建筍單鏈物表分退析必須得有L,稱陳之為頭指磚針鏈表任中每灰個(gè)元騎素,期稱之懼為結(jié)點(diǎn),每乒個(gè)結(jié)觸點(diǎn)必球須存板儲(chǔ)數(shù)佛據(jù)和苗指向射下一亞個(gè)結(jié)雨點(diǎn)的行指針最后拖一個(gè)鞭結(jié)點(diǎn)晝,沒(méi)劇有后繼,為區(qū)空指重針空的貫單鏈倒表暫時(shí)韻沒(méi)有蛙元素構(gòu)建掙單鏈擔(dān)表基湊礎(chǔ)a1La2an…LNU吵LL結(jié)點(diǎn)濃的定踐義:削例如師元素糊為整趙型數(shù)材據(jù)st貞ru昆ctno藍(lán)de{in騾tda合ta漂;no機(jī)de幻玉*佛ne照xt棗;};由此惑聯(lián)想揀數(shù)據(jù)瓣處理戒操作革:循環(huán)汽開(kāi)始憲:頭或指針賽指向疑第一驕個(gè)元穴素循環(huán)我中:兔前驅(qū)奔指向責(zé)后繼循環(huán)奇結(jié)束覆:空就指針a1La2an^…構(gòu)建蓋單鏈大表方法輕一:沿尾插逆法總是私插入雨到當(dāng)陳前鏈需表的梅表尾誦,直孫到讀額入結(jié)任束標(biāo)暮志為稿止。正序然輸入攝數(shù)據(jù)a1a2a3^L在此傭插入思路艙:定夸義頭烈指針建立a1結(jié)點(diǎn)竊,賦誘頭指珍針建立筋后面結(jié)飛點(diǎn)插入銀鏈表卵尾vo君idCr籃ea鏈te另Li爛st嫁_E(永no檔de庸*屬L婚)//正序輸入代元素腎的值捕,建躍立單飯鏈表L{no典de棕*塵p,講*倦s;L堤=(no拼de*)ma卡ll套o(hù)c(si柏ze孫of指(no吉de)朝);sc逮an限f(劣("招%d",港&(黎L-親>d著at揮a)釣)鏟;L-疼>n游ex配t裕=方NU塵LL勤;說(shuō)//先建培立第鞋一個(gè)嘩結(jié)點(diǎn)p蒜=聞L家;wh賄il怪e嘆(結(jié)束榴條件柿表達(dá)事式){s慚=(no器de*)ma保ll笑oc(si遷ze赴of蹈(no水de)曾);sc沉an布f(鞋("攤%d",俊&(編s-康>d脊at右a)蠶)房誠(chéng);s-狗>n姑ex追t防=償NU筒LL捉;p-波>n富ex尤t支=老s;p界=耕s值;}}累/旋/Cr孝ea側(cè)te誼Li注st天_E帶頭茅結(jié)點(diǎn)擋的單鏈表災(zāi):為越了使薦所有培元素泡統(tǒng)一額處理鐮方式狡,專私門加如一個(gè)頭結(jié)父點(diǎn)帶頭絕結(jié)點(diǎn)階的空纖鏈表a1a2an∧a3L….倒.∧Lvo燙idCr子ea淚te廁Li旁st舍_E(吸no葵de通*轎L諷)//正序輸入鼻元素懸的值壯,建射立帶象頭結(jié)鉤點(diǎn)的基單鏈寨表L{no果de卸*考p,邀*竿s;L割=(no草de*)ma幸ll拔oc(si腥ze耳of魄(no地de)杜);L-撓>n純ex互t薦=槍NU遍L(zhǎng)L暢;序//先建憐立一凝個(gè)帶茶頭結(jié)尼點(diǎn)的鎖單鏈病表p乖=護(hù)L值;wh獲il畫(huà)e爛(結(jié)束老條件恒表達(dá)診式蔽){s章=(no茅de*)ma求ll攪oc(si恥ze雁of箭(no會(huì)de)間);sc造an蹦f(踏("尊%d",耳&(綁s-逆>d賺at鴿a)時(shí))束;s-為>n希ex遼t秧=簽NU量LL鴿;p-狗>n蘆ex粥t映=悄s;p凱=誼s策;}}哈/拒/Cr劣ea班te艇Li恐st己_E構(gòu)建必單鏈妥表方法窮二:禾頭插抓法該方稼法從蜘一個(gè)料空表臘開(kāi)始查,重繼復(fù)讀比入數(shù)吹據(jù),毛生成而新結(jié)捧點(diǎn),尺將讀燦入數(shù)飲據(jù)存挨放到任新結(jié)等點(diǎn)的胞數(shù)據(jù)蛙域中希,然狹后將少新結(jié)毀點(diǎn)插頃入到被當(dāng)前虧鏈表災(zāi)的頭分指針葉上,億直到紹讀入咐結(jié)束椅標(biāo)志屬為止袋。a1a2an∧a3L….削.在此爛插入應(yīng)逆平序插尖入頭結(jié)款點(diǎn)vo準(zhǔn)idCr魄ea緞te款Li笛st依_L(擴(kuò)no儀de瞎*駛L多)//逆序輸入n個(gè)元術(shù)素的邪值,糾建立巧帶頭斬結(jié)點(diǎn)惰的單刻鏈表L{no波de梯*路p;L筐=(no側(cè)de*)ma或ll洋oc(si搞ze態(tài)of狼(no久de)禾);L-絹>n儉ex雙t染=藝NU掙LL嘆;牽//先建必立一平個(gè)帶起頭結(jié)傭點(diǎn)的芹空的悉單鏈懶表fo芳r食(翻i皆=n頭;源i拒>蔑0拳;右-佩-i陵){p慈=(no遮de*)ma勝ll差oc(si緒ze拖of(n次od躬e));//生成摸新結(jié)朋點(diǎn)sc兔an疏f(踐("脫%d",貞&(怪p-田>d愁at桶a)職)框;p-剪>n涂ex疑t掉=真L-管>n磚ex嘩t愿;界//插入是到表羨頭L-于>n顛ex氣t肚=盟p虎;}}辯/雖/cr退ea蕉te蕩Li面st囑_L體會(huì)序有頭咐結(jié)點(diǎn)慘的好柿處例:?jiǎn)栌?jì)算鏈打表結(jié)籍點(diǎn)的顏個(gè)數(shù)in饑tLi荷st火Le縣ng盜th(靜no焦de瘡*日L)竄//帶頭冬結(jié)點(diǎn){no稍de罵*途p;p贏=債L;in熟tle父n=買0;fo緊r(姐;料p魂!=朱NU碌LL麥;扔p=漂p-技>n供ex去t)le訪n++糞;re遭tu川rnle擦n;}a1a2an∧a3L….境.插入狡鏈表舅結(jié)點(diǎn)在第i個(gè)元賄素前丟插入滿一個(gè)永新元梨素x首先暢找到ai-摩1的存通儲(chǔ)位沸置p生成緩一個(gè)牙數(shù)據(jù)慘域?yàn)閤的新厘結(jié)點(diǎn)詳*s插入僑過(guò)程先做聽(tīng):s-跳>n鞋ex獲t=庭p-繩>n圍ex朱t再做櫻:p-領(lǐng)>n致ex撿t=串s5353xPPSai-饒1ai12in訓(xùn)tLi倚st踐In崗se督rt勇_L卵(n六od餅e*L榴,in釀ti,in誼tx)含{no效de評(píng)*買s,灶*較p=殃L;in狀tj=饞0;wh鳴il恒e(朋p員&桌&名j<綢i開(kāi)-1測(cè))忽/攏/注意陶是兩概個(gè)條冷件{p犬=p要->忌ne露xt恥;胞++淺j;鵝}罷/喜/尋找劃第i-縮慧1結(jié)點(diǎn)if竊(來(lái)!蕩p辟|(zhì)|坐j超>i朗-1城)re墳tu湯rn好-裹1;六//羞i小于1或大渾于(胃表長(zhǎng)+1)s=療(n眠od贏e*勿)ma拍ll略oc井(s盜iz窯eo蘇f(唉no閱de))態(tài);某//生成盒新結(jié)撒點(diǎn)s-部>d方at悠a=嚇x;s-長(zhǎng)>n誦ex梯t=汁p-灰>n脊ex坡t;p-輪>n廢ex臟t=察s;re飼tu民rn度0孤;}∧anaia1a2ai-1xL刪除氣鏈表肉結(jié)點(diǎn)刪除鴉運(yùn)算妹是將瘋表的臣第i個(gè)結(jié)恭點(diǎn)刪悠去。思路首先秧找到ai抓-1的存佛儲(chǔ)位綢置pq=驚p-帳>n討ex世t,為廢處理相被刪哥除結(jié)峰點(diǎn)做毯準(zhǔn)備刪除鉆操作撤:p-增>n尺ex也t=迫q-園>n涼ex咸t處理q所指滔結(jié)點(diǎn)ai-1a1aiai+1Lpqin腿tLi秧st常De局le映te獵_L閃(n僻od坦e*L,雄in眾ti,in溉t&e){no陣de嫂*識(shí)q,也*挨p=蠻L;in相tj=鈔0;wh遵il拐e(陶p夸->劣ne康xt殊&誓&沉j<貞i-接1){稅p=圈p-營(yíng)>n茫ex咬t;妹+擁+j召;剛}(cāng)追//尋找佩第i-撲1結(jié)點(diǎn)if駐(瘋!脾(p鏡->婦ne管xt攜)必||悶j桶>i我-1慮)re谷tu柔rn誤-據(jù)1;塑/胡/刪除鑄位置隨不合眠理q=挽p-久>n歷ex斃t緒;墓p辨->馳ne垂xt鉆=q間->摘ne押xt旺;e仿=溉q-報(bào)>d拐at音a殃;邁//參數(shù)世帶回謙被刪團(tuán)數(shù)值fr紙ee串(q);re掏tu練rn敞0撕;}例6-倍9,P2彈03,約鎮(zhèn)瑟夫川環(huán)數(shù)據(jù)使用灘沒(méi)有層頭結(jié)贈(zèng)點(diǎn)的遼循環(huán)緊單鏈辦表每個(gè)咬結(jié)點(diǎn)銳數(shù)據(jù)弟:每娛個(gè)人刷的序棉號(hào)。煩當(dāng)然忽有指烤向下洗一個(gè)蹲結(jié)點(diǎn)皂的指那針。功能建造貼循環(huán)酬鏈表游戲膜的過(guò)鋪程打印危輸出掀序列籌(一冷邊游佛戲一耗邊打疾???爛將結(jié)雷果保寸存之湊后一眠起打陣???序)例6-予10,P2團(tuán)06,學(xué)酸生考逮試成鑄績(jī)處冬理數(shù)據(jù)學(xué)生表信息鑰采用透數(shù)組確,是倆結(jié)構(gòu)蓬體數(shù)泛組,木每個(gè)責(zé)數(shù)組拼元素禿有數(shù)睜據(jù):眾學(xué)生阻姓名休,指往向成固績(jī)鏈包的指辱針。學(xué)生牽選修產(chǎn)每門糊課程邀和成宗績(jī),姑一個(gè)圾學(xué)生粉一個(gè)香單鏈數(shù)表,粱鏈表統(tǒng)結(jié)點(diǎn)里數(shù)據(jù)埋有:襯課程棵名,猜成績(jī)級(jí),單輕鏈表用指針紗。功能見(jiàn)P2席06圖6-溜31定義推每個(gè)痛模塊夏中函爪數(shù)(寇函數(shù)隔功能鼻,函膛數(shù)名繳,參陶數(shù),維返回包值)址。例:酸有序列數(shù)組臨插入和元素/*在第i個(gè)元就素之男前插昆入元罰素x。a為整累型數(shù)熊組首咳地址腿,le做ng輸th為當(dāng)以前數(shù)糾組元蓄素個(gè)壓數(shù),x為元維素值伐。*/in切tin少se忘rt水Sq復(fù)(i擇nt*攀a,in東t&l另en擺gt諷h,in謹(jǐn)ti,in潛tx){in憑tq;if闊(掙(i資<1羅)|殊|劇(i行>l擁en涼gt堵h+種1)庫(kù))re言tu鋒rn網(wǎng)-啊1;梅/迷/i值合科理范額圍:1~孫le尸ng購(gòu)th餃+1fo白r(材q瓶=l恭en宅gt虜h;迷q識(shí)>=隆i;航q老--幣)*(a+巾q)樸=掩*(湯a+稻q-嶺1)范;*(a+忙q)照=括x;le抓ng相th椅++避;re罷tu割rn漁0旋;}例:國(guó)有序界數(shù)組映刪除慰元素/*刪除啟第i個(gè)元壞素,厘指放償入?yún)彅?shù)x。a為整適型數(shù)孔組首駛地址涉,le赤ng悟th為當(dāng)蝕前數(shù)內(nèi)組元蘭素個(gè)累數(shù)。莊*/in畫(huà)tde底lS費(fèi)q(洋in俱t*粗a,in瓣t&l媽en腰gt杜h,in覽ti,in車t&x行){in每tq;if見(jiàn)(以(i卻<1仙)|蕉|泰(i相>l絹en吉gt蘿h)提)re嗽tu唉rn節(jié)-略1;穴/散/i值合攤理范供圍:1~銀le的ng漠thx女=屠*(遺a+咽i-所1)戚;fo吧r(適q證=i拉;視q<外le衛(wèi)ng殺th噸;須q+閑+藏)*(墨a+塔q-余1)膽=傳*稼(a+旅q);le請(qǐng)ng尺th員--比;re護(hù)tu清rn妹0敵;}數(shù)組與例單鏈紐奉表的逢優(yōu)缺焰點(diǎn)總臺(tái)結(jié)數(shù)組預(yù)知禍數(shù)據(jù)峽多少必須血用連劇續(xù)存剩儲(chǔ)空掃間支持為隨機(jī)好存取插入趴刪除位操作近需要擱移動(dòng)伏大量植元素單鏈蟻表不需月預(yù)知緞數(shù)據(jù)甘量不需斃連續(xù)府存儲(chǔ)磁空間不支禾持隨午機(jī)存煤取插入伸刪除釋操作淹不需王移動(dòng)舉大量椒元素不用報(bào)指針挽實(shí)現(xiàn)尚單鏈金表有些議語(yǔ)言拌沒(méi)有旺提供卻指針杠類型七、備文件持久下化存荒儲(chǔ)數(shù)導(dǎo)據(jù)外存豬數(shù)據(jù)萍以文之件形寒式組畝織依組蘭織形葉式不辟同,銷分為傳兩類爆:文本衫文件二進(jìn)義制文凡件文本遞文件以字鵝符為盜單位謠,每古個(gè)字甜符一陣個(gè)字競(jìng)節(jié),鞭存放AS斷CI飲I碼例如駕:00座11紛10卻00冶00稀11古01研11派00質(zhì)11甲01秘10哈00啟11協(xié)01改01存放87筑65有若抖干文廳本行滿,每穴行以秋換行鑼符’\n垂’結(jié)束文本石文件避結(jié)束壩標(biāo)志撇是EO鄉(xiāng)豐F,它脈的值禽為-1二進(jìn)潔制文煤件以二本進(jìn)制鄉(xiāng)豐形式鋤存儲(chǔ)藍(lán)數(shù)據(jù)例如魂:數(shù)柔值87細(xì)65存放宵:00匯10剝00別10貢00杏11康11懷01需要矛兩個(gè)瓣字節(jié)慨存儲(chǔ)挨這個(gè)覆數(shù)值所以傳,二劈燕進(jìn)制許文件相也可止以看弓成字穗節(jié)序蘆列,慨稱為徐字節(jié)流,有治了這戴一特臘征,織也將籍文件斷稱為流式焰文件文件肥指針FI抓LE結(jié)構(gòu)葡:一趨個(gè)內(nèi)野存中杯的FI向LE結(jié)構(gòu)蓬對(duì)應(yīng)御一個(gè)撿磁盤漢文件里,F(xiàn)I料LE結(jié)構(gòu)慮聲明喇在st羨di謹(jǐn)o.考h中。財(cái)見(jiàn)P2堵11頁(yè)定報(bào)義。使用勿想文鏟件,冊(cè)先定胡義文件旗指針FI宗LE羅*衡<指針幟變量義名>;FI埋LE箭*fp;打開(kāi)走文件打開(kāi)隔文件念,系系統(tǒng)自司動(dòng)創(chuàng)浙建一宅個(gè)FI屠LE結(jié)構(gòu)旁,并末將提峰供指找向此羊結(jié)構(gòu)廈的指滿針。完成魯庫(kù)函填數(shù):FI桐LE憂*fo籍pe礙n(賴ch漁ar*fn剝am看e,旨ch團(tuán)ar妻*殼mo恰de示)FI約LE漫*fp;if畫(huà)(fp=fo褲pe掩n(荷“c象:\\fi建le延.d間at",駝“斧r")=我=N新UL卻L)pr旨in秒tf甩(“通\n不能春打開(kāi)監(jiān)文件"童);文件挺操作娘模式mo齡de參數(shù)盾的值唉,見(jiàn)P2墊12表關(guān)閉刊文件打開(kāi)尿文件洽后必盯須關(guān)恥閉文匯件,暢否則尼可能齊造成棒文件圖指針磨泄漏貝或文徑件數(shù)勝據(jù)丟綁失。完成師庫(kù)函文數(shù):迫成功肥返回0,否篇?jiǎng)t為扒非0值in閘tfc絞lo多se是(F仙IL抄E*fp)if柏(fc紀(jì)lo師se件(f腔p)島)pr尿in陳tf利(“艘\n文件餅關(guān)閉墻有錯(cuò)猛誤"突);文件汽讀寫(xiě)打開(kāi)折文件畢后可融對(duì)文駐件進(jìn)改行讀錢寫(xiě)操唇作。庫(kù)函般數(shù)中就有若軟干文較件讀鴿寫(xiě)函被數(shù):字符唇讀寫(xiě)蜜操作字符斬串讀啊寫(xiě)操橡作數(shù)據(jù)售塊讀素寫(xiě)操霸作格式艱化讀仗寫(xiě)操鳳作字符靠讀寫(xiě)巷操作in龍tfg似et智c(東FI主LF*fp)在st茶di喪o.憂h中從fp所指娃文件林的當(dāng)近前位禁置讀妹取一求個(gè)字率符,舞并將異文件姐位置童指示抱器增喘大;返回搭值為妻字符融轉(zhuǎn)換困的整捎數(shù)。到達(dá)濕文件寇尾時(shí)互返回溝值為EO籮Fin金tfp鍛ut康c(孔in日tc,乳F屑IL絡(luò)F浸*fp)在st歲di碌o.妨h中將字妙符c寫(xiě)到fp所指冬的文跡件的真當(dāng)前檔位置痕,并泳將文煉件位則置指窩示器畢增大追;返回晴值為奮所寫(xiě)忌的字榨符的勵(lì)值;字符觀讀寫(xiě)仆操作例題撇:讀涼取一晚個(gè)文抬本文奮件,壩并將跪內(nèi)容旋顯示砌。#i粱nc濕lu令de炒<st贊di篇o.旋h>in謎tma餃in藍(lán)(){FI懼LE坑*fp;in余tch;if葛(賊(fp=fo以pe鈔n(顯"e袍:\非\a埋.t擁xt瞇",般"r")槍)姜==訴NU撕LL校)臣{pr張in失tf羊("瘦打不因開(kāi)文謊件")菊;re乓tu日rn燦-幣1;}ch=fg娃et劉c(fp);wh勞il越e(ch!=的EO臟F爽){pu攏tc攔ha封r(扣ch);ch=fg熔et獅c(fp);}fc洲lo傷se紫(f碎p);re過(guò)tu辮rn傾0謝;}字符盈讀寫(xiě)瞞操作例題剃:文擱本文夫件拷扮貝#i散nc和lu鐵de舉<st區(qū)di診o.娛h>in馳tma涌in錫(){FI晴LE閘*月fp代1,陣*搏fp士2;in獻(xiàn)tch;if腦(系(原fp兄1=fo證pe將n("e:劫\\村a.管tx箭t"齡,"昨r")水)保==銅NU征LL遷)褲{pr壩in猾tf皮("打不濕開(kāi)舊文戴件")終;re婦tu薦rn戰(zhàn)-暮1;}if迅(摩(壓fp委2=fo盲pe面n(秀"e鼓:\遣\b墻.t至xt承",禾"w")趁)=兩=N寇UL咳L句){pr徑in喚tf繩("晝打不絮開(kāi)新消文件")擺;re豆tu狗rn偵-蜂1;}wh陽(yáng)il嗚e(誦(ch=f靜ge努tc魯(f爹p1過(guò)))刃!=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論