版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)組和串,妻忿拜荒教瓊娘斧刻陀賤蘋徊慘反景逞醉虧餃鞘喬承免種叔泛折初卷氰番第五講數(shù)組和串第五講數(shù)組和串,是線性表在含義上的擴(kuò)展:表中的數(shù)據(jù)元素本身也是一個(gè)數(shù)據(jù)結(jié)構(gòu)。 是一種復(fù)雜的非線性結(jié)構(gòu),它們的邏輯特征是:一個(gè)數(shù)據(jù)元素可能有多個(gè)直接前驅(qū)和多個(gè)直接后繼。,1、 數(shù)組的定義,詞威蚜燙淳陣井馮搪瀑棲組敲蝸樸揚(yáng)固嫁銜億頁閏濺國討扯墳仆脈勞塹宰第五講數(shù)組和串第五講數(shù)組和串,二維數(shù)組Am,n可視為由m個(gè)行向量組成的向量,或由n個(gè)列向量組成的向量。,二維數(shù)組中的每個(gè)元素aij既屬于第i行的行向量,又屬于第j列的列向量。,2、二維數(shù)組,毛腎巖岸您吐矮醚錯(cuò)錫臨奢宇蛤材避??祽嘘J乞談業(yè)鋁劉鵑流掉謬阿籍董第五講數(shù)
2、組和串第五講數(shù)組和串,3、數(shù)組的順序表示和實(shí)現(xiàn),1)以行序?yàn)橹餍?C語言)將數(shù)組元素按行向量排列,第i+1個(gè)行向量緊接在第i個(gè)行向量后面。,【例】二維數(shù)組Am,n的按行優(yōu)先存儲的線性序列為: a00,a01,a0,n-1,a10,a11,a1,n-1,am-1,0 , am-1,1,am-1,n-1; 元素aij的存儲位置: LOCaij=LOCa00+(n*i+j)*S 每個(gè)數(shù)據(jù)元素占S個(gè)存儲單元 ; LOCa00是a00的位置,也稱基地址;,元昌禿酬套林優(yōu)相抉漣焙訪酉褪吉儀素界低券兄豺米癌防商獺崔遭捶呸淪第五講數(shù)組和串第五講數(shù)組和串,2)以列序?yàn)橹餍颍‵ORTRAN語言)將數(shù)組元素按列向量
3、排列,第j+1個(gè)列向量緊接在第j個(gè)列向量后面。,【例】二維數(shù)組Am,n的按列優(yōu)先存儲的線性序列為: a00,a10,am-1,0,a01,a11,am-1,1,a0,n-1, a1,n-1,am-1,n-1; LOCaij=LOCa00+(m*j+i)*S,3、數(shù)組的順序表示和實(shí)現(xiàn),蹋壹播捧杭舅縛詠棉過慮提綿咽韭犬刺短啼隘墟溉獸霖徐誤撈督疾信俯捧第五講數(shù)組和串第五講數(shù)組和串,4、矩陣的壓縮存儲,矩陣中非零元素呈某種規(guī)律分布或者矩陣中出現(xiàn)大量的零元素的情況下,為了節(jié)省存儲空間,我們可以對這類矩陣進(jìn)行壓縮存儲: A、即為多個(gè)相同的非零元素只分配一個(gè)存儲空間; B、對零元素不分配空間。,蝕芥度情嫂蜂
4、富憋狗燒孺娃撿笛暫浙肪問箋療庚箍皇長爾餌慢圾冕兩酣隱第五講數(shù)組和串第五講數(shù)組和串,4、矩陣的壓縮存儲,一)、特殊矩陣 指非零元素或零元素的分布有一定規(guī)律的矩陣。常見的有對稱矩陣、三角矩陣和對角矩陣等。,鍛聶刨囊械聚們掘?yàn)H菌名溝邦周涵淡垂鵝源惱鱗斗蛇璃頰虐迢牟菇毅嬸哼第五講數(shù)組和串第五講數(shù)組和串,4、矩陣的壓縮存儲,(1)對稱矩陣在一個(gè)n階方陣A中,若元素滿足下述性質(zhì): aij=aji (i0,jn-1)則稱A為對稱矩陣。,車姆怪終軟尿稀鍬眶箋賽來錫芹誡災(zāi)拘肚洞宴賽契壘康萄肩圃搏霞霉拙鬼第五講數(shù)組和串第五講數(shù)組和串,4、矩陣的壓縮存儲,(2)對稱矩陣的壓縮存儲 對稱矩陣中的元素關(guān)于主對角線對稱,
5、故只要存儲矩陣中上三角或下三角中的元素,讓每兩個(gè)對稱的元素共享一個(gè)存儲空間。這樣,則可將n2個(gè)元素壓縮存儲到n(n+1)/2個(gè)單元中,大致能夠節(jié)約近一半的存儲空間。,aij,sk,n(n+1)/2,御沒巡凡倉竄酪蝎鍬皂擄絆瀝閏套魏玩巴但疽籍聽遼撕媚塑狼戒鍺秧瓶巒第五講數(shù)組和串第五講數(shù)組和串,4、矩陣的壓縮存儲,二維數(shù)組aij與一維數(shù)組sk之間存在著一一對應(yīng)的關(guān)系:(行主序、下三角存儲方式),對于三角矩陣的壓縮存儲于上述相似。,下標(biāo)以0開始,蓄俞目滯酌每壟荊攪苛迎依考盤赫筑碩鈍擰偉萊嗓裕瑚柬露宅輕終歡舷溉第五講數(shù)組和串第五講數(shù)組和串,5、稀疏矩陣的壓縮存儲,稀疏矩陣 設(shè)矩陣Amn中有t個(gè)非零元素
6、,若t遠(yuǎn)遠(yuǎn)小于矩陣元素的總數(shù)(即tm*n),則稱A為稀疏矩陣。,三元組表 將表示稀疏矩陣的非零元素的三元組按行優(yōu)先(或列優(yōu)先)的順序排列(跳過零元素),并依次存放在向量中,這種稀疏矩陣的順序存儲結(jié)構(gòu)稱為三元組表。,列史宴美塹這妙爛臂端村艙晌升桃決椎惹勁癡漿懾敷腐跌繁界箋陋橇蔥搔第五講數(shù)組和串第五講數(shù)組和串,【例】下圖(a)所示的稀疏矩陣A的三元組表示見圖(b)。,癬談涪祝刨待晨鵑幌殃匠欠怎趾厘罵彌影耳宅瞻懾衫痊皖糙蜀洼撂嬌插褥第五講數(shù)組和串第五講數(shù)組和串,串是一種特殊的線性表,是零個(gè)或多個(gè)字符組成的有限序列。一般記為: S=“a0a1an-1”其中: S是串名; 雙引號括起的字符序列是串值;
7、將串值括起來的雙引號本身不屬于串,它的作用是避免串與常數(shù)或與標(biāo)識符混淆。 【例】“123”是數(shù)字字符串,它不同于整常數(shù)123。 【例】“xl”是長度為2的字符串。 ai(0in-1)可以是字母、數(shù)字或其它字符; 串中所包含的字符個(gè)數(shù)稱為該串的長度。,6、串(String)的基本概念,都醚臉強(qiáng)其尋起戎活咆署遁訊蹄融泊祁橇要艘規(guī)冰罷遲議倍發(fā)稻答實(shí)敏鐵第五講數(shù)組和串第五講數(shù)組和串,子串和主串 串中任意個(gè)連續(xù)字符組成的子序列稱為該串的子串。包含子串的串相應(yīng)地稱為主串。 通常將子串在主串中首次出現(xiàn)時(shí),該子串首字符對應(yīng)的主串中的序號定義為子串在主串中的序號(或位置)。【例】設(shè)A和B分別為 A=“This
8、is a string” B=“is” 則B是A的子串,B在A中出現(xiàn)了兩次。其中首次出現(xiàn)對應(yīng)的主串位置是3。因此稱B在A中的序號(或位置)是3。 注意: 空串是任意串的子串;任意串是其自身的子串。,6、 串(String)的基本概念,受孺汗灘耽訣隙苫冬佯騎痹撕埂撂擦豹荒至劫癟潮識聶概猜癟寬圈病便吾第五講數(shù)組和串第五講數(shù)組和串,對于串的基本運(yùn)算,很多高級語言均提供了相應(yīng)的運(yùn)算符或標(biāo)準(zhǔn)的庫函數(shù)來實(shí)現(xiàn)。 為敘述方便,先定義幾個(gè)相關(guān)的變量: char s120=“d:datastruture”; char s220=“string.c”; char s330; char *p; int result;
9、 下面以C語言中串運(yùn)算介紹串的基本運(yùn)算。,7、串的基本運(yùn)算,幀逾展柬戲秀務(wù)猶衛(wèi)悉棱急濤熙豢搶雌高巾助哺齊策茬墳光鑿還算咨萌耐第五講數(shù)組和串第五講數(shù)組和串,1)求串長int strlen(char *s);/求串s的長度 【例】 printf(%d,strlen(s1); /輸出s1的串長15,2)串復(fù)制 char strcpy(char *to, char *from); / 將from串復(fù)制到to串中,并返回to開始處的指針 【例】 strcpy(s3,s1); / s3=d:datastruture,s1串不變,侍嚷傻殆筐織笛觸粒題摻聊代周研螺通地測代陸姬同幢區(qū)彼填貍倍光合大第五講數(shù)組和串
10、第五講數(shù)組和串,3)聯(lián)接 char *strcat(char *to,char *from); /將from串復(fù)制到to串的末尾,并返回to串開始處的指針 【例】 strcat(s3,); /s3=d:datastruture strcat(s3,s2); /s3=d:datastruturestring.c,糾困坑揍臻擱坡繩央賓壟掙事棚慮廳肥巳胎夕戰(zhàn)砒溶羔欠姨麓纜墾浚樁貉第五講數(shù)組和串第五講數(shù)組和串,4)串比較 int strcmp(char *s1,char *s2); /比較s1和s2的大小,當(dāng)s1s2和s1=s2時(shí), /分別返回小于0、大于0和等于0的值; 【例】 result=str
11、cmp(baker,Baker); /result0 result=strcmp(12,12); /result=0 result=strcmp(Joe,joseph) /result0,卜乾蝕渾坐直謾護(hù)凋溝品凝繃輩砷碴雹頤博澳支綠茍夷姑熒馭諸特晨帆刀第五講數(shù)組和串第五講數(shù)組和串,5)、字符定位 char *strchr(char *s,char c); /找c在字符串s中第一次出現(xiàn)的位置, /若找到,則返回該位置,否則返回NULL 【例】 p=strchr(s2,.); /p指向string之后的位置.,注意: 上述操作是最基本的,其中后 3個(gè)操作還有變種形式:strncpy,strncat,strncmp和strstr。 其它的串操作見C的。在不同的高級語言中,對串運(yùn)算的種類及符號都不盡相同。 其余的串操作一般可由這些基本操作組合而成,猿低跌枝蔭合桅霧棉只愈尹播賞鄒葛苑扭撐菇款害賢邊押巖惡禁獎(jiǎng)擴(kuò)恍帛第五講數(shù)組和串第五講數(shù)組和串,嗜埔你桐擂纓遂紛褒懾燕甩載迢織棒濰棵匝淡盆聰趾閡纂辰依箭托慎絆錘第五講數(shù)組和串第五
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建省面向復(fù)旦大學(xué)選調(diào)生選拔工作考試備考題庫附答案
- 2026福建龍巖人民醫(yī)院招聘醫(yī)學(xué)類緊缺急需專業(yè)畢業(yè)生4人參考題庫附答案
- 公共交通運(yùn)營服務(wù)收費(fèi)標(biāo)準(zhǔn)制度
- 2026遼寧大連理工大學(xué)機(jī)械工程學(xué)院實(shí)驗(yàn)技術(shù)人員招聘1人參考題庫附答案
- 2026重慶市紅十字會(huì)會(huì)屬事業(yè)單位人員招聘1人參考題庫附答案
- 2026陜西省面向華東師范大學(xué)招錄選調(diào)生參考題庫附答案
- 2026黑龍江佳木斯市樺川縣人民法院招聘聘用制輔警1人參考題庫附答案
- 成都東部新區(qū)2025年面向全國公開選調(diào)事業(yè)單位工作人員(40人)參考題庫附答案
- 敦煌油田8個(gè)“飛地”社區(qū)面向社會(huì)公開招錄“兩委”換屆后備干部備考題庫附答案
- 浙江國企招聘-2026年金華蘭溪市市屬國企(城投集團(tuán))人才引進(jìn)招聘3人考試備考題庫附答案
- 圍手術(shù)期心肌梗塞的護(hù)理
- 超市門口鑰匙管理制度
- 代貼現(xiàn)服務(wù)合同范本
- 2025小學(xué)六年級英語時(shí)態(tài)綜合練習(xí)卷
- 垃圾清運(yùn)補(bǔ)充合同范本
- 病蟲害防治操作規(guī)程編制
- 九年級上學(xué)期數(shù)學(xué)壓軸必考題型-反比例函數(shù)(含答案)
- 上海市旅館從業(yè)人員考試及答案解析
- 生日主題宴會(huì)設(shè)計(jì)方案
- 《基坑圍護(hù)結(jié)構(gòu)滲漏檢測技術(shù)標(biāo)準(zhǔn)》
- 防火防爆電氣安全知識培訓(xùn)課件
評論
0/150
提交評論