日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

博客作业02---线性表

發(fā)布時(shí)間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 博客作业02---线性表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、PTA實(shí)驗(yàn)作業(yè)

題目1:7-1 最長(zhǎng)連續(xù)遞增子序列

給定一個(gè)順序存儲(chǔ)的線性表,請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法查找該線性表中最長(zhǎng)的連續(xù)遞增子序列。
例如,(1,9,2,5,7,3,4,6,8,0)中最長(zhǎng)的遞增子序列為(3,4,6,8)

1. 設(shè)計(jì)思路(偽代碼或流程圖)

/*查找最長(zhǎng)連續(xù)遞增子序列函數(shù) */定義整型變量i,j表示循環(huán)變量,k用來作找到后新數(shù)組下標(biāo)定義整型變量 MaxLength=1; //MaxLength為1, 表示長(zhǎng)度只有頭部定義整型 a[maxsize]存放最長(zhǎng)連續(xù)遞增子序列for i=0 to L->lengtha[i]=1; //表示長(zhǎng)度只有頭部 for i=0 to L->length-1for i=0 to L->length-1如果 前一個(gè)元素 > 后一個(gè)元素a[i]++否則 break 找到后: for i=0 to L->length如果 a[i] > MaxLength,k=i如果 長(zhǎng)度為1,直接輸出此數(shù)如果 長(zhǎng)度為0,return輸出最后結(jié)果 end for

2.代碼截圖


3.PTA提交列表說明

  • 編譯錯(cuò)誤。把PTA中的C改成C++后提交;
  • 部分正確。沒有考慮只有一個(gè)數(shù)時(shí)的情況,需要再加上if(MaxLength==1)時(shí),直接輸出這個(gè)數(shù);

題目2:6-2 jmu-ds-單鏈表逆置

本題要求實(shí)現(xiàn)一個(gè)函數(shù),將給定單向鏈表逆置,即表頭置為表尾,表尾置為表頭。鏈表為帶頭結(jié)點(diǎn)鏈表。
(單鏈表基本操作根據(jù)老師發(fā)的變化。)

1. 設(shè)計(jì)思路(偽代碼或流程圖)

/*逆置函數(shù)void ReverseList(List &L)調(diào)用 */如果鏈表L 為空表||只有有一個(gè)元素 輸出 NULL,不逆置定義指針p,q ListNode *p,*q移動(dòng)令p指向L的第二個(gè)數(shù)據(jù)while(p)q 保存下p的值 ,p移動(dòng) p的next指向前一個(gè)元素L->next的值不斷變化,循環(huán)end for

2.代碼截圖


3.PTA提交列表說明

  • 需要考慮空表或僅僅只有有個(gè)元素時(shí),不需要逆置;
  • 答案錯(cuò)誤。輸入1 2 3 4 5逆置后輸出4 3 2 1,修改第一個(gè)輸出所指結(jié)點(diǎn)輸出;
  • 部分正確。猜想是逆置函數(shù)出錯(cuò),注釋掉其他函數(shù),再讀代碼,查找出錯(cuò)地方,修改:在建模輸入值時(shí)循環(huán)條件出錯(cuò),將for(i=1;i<n;i++)改為for(i=1;i<=n;i++);
  • 格式錯(cuò)誤。輸出函數(shù),最后一個(gè)無空格;

題目3:7-3 兩個(gè)有序序列的中位數(shù)

1. 設(shè)計(jì)思路(偽代碼或流程圖)

先類似7-1將給出的兩個(gè)鏈表S1,S2合并,用鏈表S3裝好 /*查找中位數(shù)int Find(LinkList S3, int m,int n)調(diào)用*/ m為中位數(shù)下標(biāo) 定義整型變量j=0 表示S3下標(biāo)定義整型變量length=2*n表示合并后S3長(zhǎng)度 定義 LinkList p=S3方便進(jìn)行移動(dòng)如果 p為空 return 0當(dāng) j<=m 時(shí)j遞增p移動(dòng)直到j(luò)==m找到返回找到的下標(biāo)所指的值end for

2.代碼截圖



3.PTA提交列表說明

  • 編譯錯(cuò)誤。忘記把PTA中的C改成C++后提交;
  • 段錯(cuò)誤。之前把合并后的S3先輸出來,函數(shù)沒注釋掉,不用輸出,直接輸出中位數(shù)的值;
  • 答案錯(cuò)誤。中位數(shù)查出錯(cuò)誤,函數(shù)出錯(cuò),檢查發(fā)現(xiàn)length長(zhǎng)度在合并后沒有及時(shí)改變,應(yīng)該變成2n;

二、截圖本周題目集的PTA最后排名

1.順序表PTA排名

2.鏈表PTA排名

3.我的總分:215

三、本周學(xué)習(xí)總結(jié)

1.談?wù)勀惚局軘?shù)據(jù)結(jié)構(gòu)學(xué)習(xí)時(shí)間是如何安排,對(duì)自己安排滿意么,若不滿意,打算做什么改變?

  • 課前完成老師布置的預(yù)習(xí)作業(yè),然后平時(shí)上數(shù)據(jù)結(jié)構(gòu)課程,課后完成相應(yīng)的PTA練習(xí)題;
  • 不太滿意。除了老師安排的固定學(xué)習(xí)外可以自己課下多看數(shù)據(jù)結(jié)構(gòu)書,看看代碼和解題思路;
  • 編程上不懂的地方先上網(wǎng)自己嘗試弄懂,如果不行,請(qǐng)教同學(xué);

2.談?wù)勀銓?duì)線性表的認(rèn)識(shí)?

主觀認(rèn)識(shí):線性表是一種數(shù)據(jù)結(jié)構(gòu),能表示出前后相同元素之間的關(guān)系,讓元素有規(guī)律的排列或組合;
本章小結(jié):
(1)線性表的定義。線性表是具有相同特性的數(shù)據(jù)元素的一個(gè)有限序列;
(2)線性表的抽象數(shù)據(jù)類型描述。 
ADT List {
  數(shù)據(jù)對(duì)象:D={ | ∈ ElemSet, i=1,2,...,n, n≥0 }
數(shù)據(jù)關(guān)系:R1={ <ai-1 ,ai >| ,∈D, i=2,...,n }
基本操作:
   { 結(jié)構(gòu)初始化 InitList( &L ) }  
    操作結(jié)果:構(gòu)造一個(gè)空的線性表 L
{ 銷毀結(jié)構(gòu) DestroyList( &L ) }
  }
(3)線性表的順序存儲(chǔ)結(jié)構(gòu)---順序表及其運(yùn)用。
包括順序表的建立、初始化線性表、銷毀線性表、判斷是否為空表、求線性表長(zhǎng)度、輸出線性表,
還有在線性表中進(jìn)行某些基本操作運(yùn)算:如: 求線性表中某個(gè)數(shù)據(jù)元素值、按元素值查找 、插入元素值、 刪除元素值;
(4)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)---鏈表,分有單鏈表、雙鏈表和循環(huán)鏈表及其運(yùn)用。
單鏈表中,每個(gè)節(jié)點(diǎn)有一個(gè)指針域,指向其后繼節(jié)點(diǎn),進(jìn)行操作 時(shí),除了對(duì)該節(jié)點(diǎn)操作外,還需要考慮其前后的節(jié)點(diǎn);
單鏈表也有順序表里面的基本操作:刪除、插入、建表(頭插法或尾插法,頭插法會(huì)逆序輸出)、初始化、銷毀等;
雙鏈表中,每個(gè)節(jié)點(diǎn)有兩個(gè)指針域,一個(gè)指向其后繼節(jié)點(diǎn),另一個(gè)指向其前驅(qū)節(jié)點(diǎn);
建立雙鏈表也有兩種方法:頭插法或尾插法,基本操作跟單鏈表同;
插入節(jié)點(diǎn)(如:s插入p后):
s->next=p->next;
p->next->prior=s;
s->prior=p;
p->next=s;
刪除節(jié)點(diǎn)(如:刪除p后的節(jié)點(diǎn),得修改兩個(gè)指針域):
p->next=q->next;
q->next->prior=p;
(5)循環(huán)鏈表,是另一種形式的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
特點(diǎn):表中尾節(jié)點(diǎn)的指針域不再是空,而是指向頭節(jié)點(diǎn),整個(gè)鏈表形成一個(gè)環(huán),因此,從表中任一個(gè)節(jié)點(diǎn)出發(fā)均可找到鏈表中其他節(jié)點(diǎn);
基本運(yùn)算:與非循環(huán)鏈表基本相同,只對(duì)表尾的判斷作了改變,例如,在循環(huán)單鏈表或循環(huán)雙鏈表L中,判斷表尾節(jié)點(diǎn)p的條件是p->next==L;
(6)有序表,指其中所有元素以遞增或遞減方式有序排列的線性表。
有序表的存儲(chǔ)結(jié)構(gòu)及其基本運(yùn)算:
若以順序表存儲(chǔ),除插入函數(shù)外其余運(yùn)算基本相同,掃描L,找到插入位置 i,將data[ i ]及后面元素后移一個(gè)位置,插入元素e;
若以單鏈表存儲(chǔ),除插入函數(shù)外其余運(yùn)算基本相同,查找前驅(qū)節(jié)點(diǎn)pre,創(chuàng)建放e的數(shù)據(jù)節(jié)點(diǎn)p,在pre后插入*p節(jié)點(diǎn);
有序表的歸并。將兩個(gè)有序表合并成一個(gè)有序表---二路歸并法。
二路歸并法:
分別掃描LA和LB兩個(gè)有序表,兩個(gè)均未掃描完時(shí),比較LA和LB當(dāng)前元素,較小的放入LC中,再從較小元素所在的有序表中取下一個(gè)元素,重復(fù)此過程直到 LA或LB比較完畢,最后將沒有比較完的有序表中余下的元素放入LC中;

3.代碼Git提交記錄截圖

轉(zhuǎn)載于:https://www.cnblogs.com/78tian/p/8643544.html

總結(jié)

以上是生活随笔為你收集整理的博客作业02---线性表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.99精品 | 香蕉视频一级片 | 国产123区在线观看 91国产一区二区 | 丁香在线视频 | 99色网| 国产av一区二区三区 | 天天天天躁天天爱天天碰2018 | 国产精品12| 亚洲一区二区在线看 | 亚洲系列第一页 | 少妇特黄a一区二区三区88av | 九九热久久免费视频 | 在线观看av资源 | 欧美少妇喷水 | 91l九色lporny| 国产一区二区三区免费播放 | 欧美视频亚洲视频 | 久久成人福利 | 男生插女生视频 | 丁香六月婷婷激情 | 国产女主播自拍 | 成人黄色在线看 | 锕锕锕锕锕锕锕锕 | 奇米影视第四色首页 | 午夜毛片电影 | 成年人黄色一级片 | 免费小视频在线观看 | 日本成人激情 | 国内精品久久99人妻无码 | chien国产乱露脸对白 | 欧美暧暧视频 | 亚洲欧美日韩国产 | 美女又爽又黄视频毛茸茸 | 久久久精品一区二区三区 | 久久久高清视频 | av少妇在线| 日b视频免费观看 | 亚洲欧美一区二区三区孕妇 | 懂色av一区二区三区四区五区 | 特级毛片爽www免费版 | 国产免费又黄又爽又色毛 | 伊人国产女 | av资源库| 精品日韩一区二区 | 色偷偷资源网 | 丰满人妻综合一区二区三区 | 五月网 | 99这里 | 日韩欧美啪啪 | av在线不卡免费看 | 福利视频在线看 | 国产精品一区二区小说 | 91久久久久国产一区二区 | 国产激情视频一区二区 | 国精产品99永久一区一区 | 九色91蝌蚪 | 日韩大胆人体 | 欧美天天视频 | av黄色大片 | 亚洲最新在线观看 | 伊人99在线 | 韩国中文字幕hd久久精品 | 久久精品一本 | 在线精品播放 | 韩国三级免费 | av黄色成人 | 亚洲AV无码乱码国产精品牛牛 | 成人深夜福利 | a级黄色一级片 | 国产精品一二三四五区 | 免费精品在线视频 | 久久一区二区三区四区 | 69亚洲乱人伦 | 老司机深夜福利影院 | 人人狠狠综合久久亚洲 | 本田岬av | 日欧美女人| 午夜黄网 | 亚洲xx视频 | 国产一区二区av在线 | 少妇视频在线观看 | 精品人妻午夜一区二区三区四区 | 久久久精品美女 | 超碰c| 亚洲视频免费在线观看 | 91免费看 | 日本中文在线播放 | 欧美高清视频在线观看 | 欧美高清日韩 | 希岛婚前侵犯中文字幕在线 | 精品无码三级在线观看视频 | av午夜精品 | 2023天天操| 亚洲综合免费视频 | 1769国产精品| 国产主播毛片 | 欧美在线黄色 | ww久久| 日本人做受免费视频 |