freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(已修改)

2025-06-19 14:14 本頁面
 

【正文】 1 實驗一 一.實驗題目: 線性表的綜合操作 二.實驗目的 : 線性表是最基本、最簡單、也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。線性表中數(shù)據(jù)元素之間的關(guān)系是一對一的關(guān)系,即除了第一個和最后一個數(shù)據(jù)元素之外,其它數(shù)據(jù)元素都是首尾相接的。線性表的邏輯結(jié)構(gòu)簡單,便于實現(xiàn)和操作。因此,線性表這種數(shù)據(jù)結(jié)構(gòu)在實際應用中是廣泛采用的一種數(shù)據(jù)結(jié)構(gòu)。 線性表是最基本的線性結(jié)構(gòu),任何線性結(jié)構(gòu)都可以用線性表表示。線性表的結(jié)構(gòu)在信息檢索、程序設(shè)計語言的編譯等許多方面有廣泛的應用。本次設(shè)計主要是運用線性表的插入、刪除、查找 和排序 ,并運用 C語言的一些知 識編寫出程序使算法 得以實現(xiàn)。 三. 設(shè)計 分析 線性表的結(jié)構(gòu)特點 1)均勻性:雖然不同數(shù)據(jù)表的數(shù)據(jù)元素可以是各種各樣的,但對于同一線性表的各數(shù)據(jù)元素必定具有相同的數(shù)所類 長度。 2)有序性:各數(shù)據(jù)元素在線性表中的位置只取決于它們的序與,數(shù)據(jù)元素之前的相對位置是線性的,即存在唯一的“第一個“和“最后一個“的數(shù)據(jù)元素,除了第一個和最后一個外,其它元素前面均只有一個數(shù)據(jù)元素直接前趨和后面均只有一個數(shù)據(jù)元素(直接后繼)。 在實現(xiàn)線性表數(shù)據(jù)元素的存儲方面,一般可用順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)兩種方法。 鏈式存儲結(jié)構(gòu)將在本網(wǎng)站線性鏈表中介紹,本章主要介紹用數(shù)組實現(xiàn)線性表數(shù)據(jù)元素的順序存儲及其應用。另外棧.隊列和串也是線性表的特殊情況,又稱為受限的線性結(jié)構(gòu)。 線性表的常見操作包括: ① 確定表的長度 n,即求表中數(shù)據(jù)元素的個數(shù); ② 讀表:從左到右(或從右到左)讀表,即按 a1, a2,……, an(或 an, an1 ,……, 2 a1 )讀取數(shù)據(jù)元素的值; ③ 檢索:即在表中查找具有某個特征值的數(shù)據(jù)元素; ④ 改寫:修改、存入表中第 i個數(shù)據(jù)元素( 1≤ i≤ n),即給第 i 個數(shù)據(jù)元素賦值; ⑤ 插入:在第 i1 個和第 i 個數(shù)據(jù)元素之間( 1≤ i≤ n)插入一個新的數(shù)據(jù)元素,使原來的第 i, i+1,……, n個數(shù)據(jù)元素變成為第 i+1, i+2,……, n, n+1 個數(shù)據(jù)元素; ⑥ 刪除:刪除第 i個數(shù)據(jù)元素( 1≤ i≤ n),使原來的第 i+1, i+2,……, n個數(shù)據(jù)元素變成為第 i, i+1,……, n1個數(shù)據(jù)元素; ⑦ 排序:即按某個特征值遞增(或遞減)的順序?qū)Ρ碇械臄?shù)據(jù)元素重新排列。 ⑧ 歸并:將兩個以上的有序線性表合并成一個新表。 程序流程圖 四.設(shè)計方 案 系統(tǒng)提供的功能有:線性表的初始化操作,插入元素,刪除元素,顯示所有元素,排序和 查找 第 i 個元素。用戶可根據(jù)顯示菜單來進行相關(guān)操作。 程序流程圖 查找數(shù)據(jù) 創(chuàng)建線性表 刪除數(shù)據(jù) 排序 插入數(shù)據(jù) 遍歷 3 : 例如在第 i個元素之前插入一個元素,首先要將尾元素到第 i個元素向后移動一位,再將新元素傳送到第 i 個位置,即可。 : 例如刪除第 i 個元素時,要將第 i+1 個元素到最后一個元素向前移到一位。尾數(shù)置零。 五.詳細設(shè)計 include main() { int a[10],de=0,i=0,data=0,locate=0,t=0,j=0。 printf(請依次輸入 10個輸入數(shù)據(jù): \n)。 for(i=0。i10。i++) { scanf(%d,amp。a[i])。 } printf(\n)。 for(i=0。i10。i++) { printf(%d,a[i])。 } for(。) { printf(\n)。 printf( 0,遍歷輸出 \n)。 printf( 1,刪除 \n)。 printf( 2,插入 \n)。 printf( 3,排序 \n)。 printf( 4,查找 \n)。 printf( 5,退出 \n)。 4 scanf(%d,amp。j)。 if(j==1) { printf(請輸入刪除數(shù)據(jù)的位置: )。 for(。) { scanf(%d,amp。de)。 if(de=0amp。amp。de10) break。 else printf(超出范圍請重新輸入: )。 } for(i=de。i9。i++) a[i]=a[i+1]。 a[9]=0。 } if(j==2) { printf(請輸入插入的數(shù)據(jù): )。 scanf(%d,amp。data)。 printf(請輸入插入數(shù)據(jù)的位置: )。 for(。) { scanf(%d,amp。locate)。 if(locate=0amp。amp。locate10) break。 5 else printf(超出范圍請重新輸入: )。 } for(i=8。i=locate。i) a[i+1]=a[i]。 a[locate]=data。 } if(j==3) { printf(對數(shù)據(jù)進行升序排列 )。 for(i=0。i10。i++) for(j=0。j10i。j++) { if(a[j]a[j+1]) { t=a[j]。 a[j]=a[j+1]。 a[j+1]=t。 } } } if(j==4) { printf(請輸入查找數(shù)據(jù)的位置: )。 for(。) { scanf(%d,amp。locate)。 if(locate=0amp。amp。locate10) break。 else 6 printf(超出范圍請重新輸入: )。 } printf(%d, a[locate])。 } if(j==5) { break。 } if(j==0) { printf(按順序顯示輸入的數(shù)據(jù): )。 for(i=0。i10。i++) printf(%d,a[i])。 } if(j5) { printf(沒有此操作命令 )。 } } } 7 六.用戶手冊 依次輸入十個數(shù)據(jù) 遍歷 輸入 0選項實現(xiàn)數(shù)字的遍歷,按順序顯示輸入的數(shù)據(jù)。 8 刪除 刪除數(shù)據(jù)范圍內(nèi)的數(shù)字 .刪除后,后位數(shù)字依次向前移位,末位補 0。 刪除數(shù)據(jù)范圍外的數(shù)字,顯示超出范圍請重新輸入。 插入 插入數(shù)據(jù)位置在范圍內(nèi) 9 插入數(shù)據(jù)位置超出范圍,顯示超出范圍請重新輸入。 排序 對數(shù)據(jù)進行升序排列。 10 查找 按位置查找 .查找數(shù)據(jù)位置范圍內(nèi),顯示該位置數(shù)字。 按位置查找 .查找超出數(shù)據(jù)表范圍,顯示超出范圍請重新輸入。 11 退出 輸入指令代碼 5,退出程序。 輸入代碼超出指令范圍,顯示沒有此操作命令。 七.測試與結(jié)果分析 (1)對數(shù)據(jù)進行排序時,按升序 排列。 (2)刪除 指定位置 元素時 將該元素之后所有元素依次向前移動一位,尾元素置 0。 12 八.學習心得 做了這次課程設(shè)計,我覺得課程設(shè)計這種形式真的是我們需要的,可以讓我們學到很多,包括書上的、書外的。理論永遠 不等于 實際。在學排序算法的時候,讀了書上的算法描述,覺得自己都會了,考試題目也都做出來了,但真的到編程去實現(xiàn)它的時候,卻不是一次就成功的,總會出點差錯,循環(huán)的邊界條件啊,排序表的設(shè)計啊,等等,只得一次次改,等到程序終于正確運行的時候,才算真正會了這些算法,理論和實際永遠差那么一點,不去做 是體會不出來的。坐在電腦前才真正知道自己會不會,眼高手低是要不得的。在課程設(shè)計中我對數(shù)據(jù)結(jié)構(gòu)有很大的認識和了解。近幾十年來,計算機的應用領(lǐng)域日益擴大,早已不再局限于簡單的數(shù)值運算,而涉及到問題的分析、數(shù)據(jù)結(jié)構(gòu)框架的設(shè)計以及插入、刪除、排序、查找等復雜的非數(shù)值處理和操作。數(shù)據(jù)結(jié)構(gòu)的學習就是為以后從事非數(shù)值處理的程序設(shè)計打下堅實的理論、方法和技術(shù)基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)是從事計算機軟件開發(fā)、應用人員必備的專業(yè)知識。隨著計算機的日益普及,掌握數(shù)據(jù)結(jié)構(gòu)知識已成為計算機專業(yè)的基本要求。摸索著用 C 語言 做完課程設(shè)計,增強了自己的自 學能力,這應該是最有用的吧,語言會過時,學習的能力卻不會過時。這次的課程設(shè)計也使我意識到了理論與實踐相結(jié)合的重要作用 。 13 九.參考文獻 [1] 嚴蔚敏 ,吳偉民 .數(shù)據(jù)結(jié)構(gòu)( C語言版) [M].北京 :清華大學出版社 ,2021. [2] 熊岳山 ,劉越 .數(shù)據(jù)結(jié)構(gòu)與算法 [M].北京 :電子工業(yè)出版社 ,2021. [3] 蘇仕華編著 .數(shù)據(jù)結(jié)構(gòu)與算法解析 .合肥: 中國科學技術(shù)大學出版社, 2021 [4] 徐孝凱編著 .數(shù)據(jù)結(jié)構(gòu)實用教程 . 北京:清華大學出版社, 1999 14 十. 教師評審意見
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1