資料結構課程設計

2022-05-06 20:27:01 字數 3100 閱讀 1502

線性表是最基本、最簡單、也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。

因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。線性表是最基本的線性結構,任何線性結構都可以用線性表表示。線性表的結構在資訊檢索、程式語言的編譯等許多方面有廣泛的應用。

本次設計主要是運用線性表的插入、刪除、查詢和排序,並運用c語言的一些知識編寫出程式使演算法得以實現。

1)均勻性:雖然不同資料表的資料元素可以是各種各樣的,但對於同一線性表的各資料元素必定具有相同的數所類長度。

2)有序性:各資料元素**性表中的位置只取決於它們的序與,資料元素之前的相對位置是線性的,即存在唯一的「第乙個「和「最後乙個「的資料元素,除了第乙個和最後乙個外,其它元素前面均只有乙個資料元素直接前趨和後面均只有乙個資料元素(直接後繼)。

在實現線性表資料元素的儲存方面,一般可用順序儲存結構和鏈式儲存結構兩種方法。鏈式儲存結構將在本**線性鍊錶中介紹,本章主要介紹用陣列實現線性表資料元素的順序儲存及其應用。另外棧.佇列和串也是線性表的特殊情況,又稱為受限的線性結構。

① 確定表的長度n,即求表中資料元素的個數;

② 讀表:從左到右(或從右到左)讀表,即按a1,a2,……,an(或an,an-1 ,……,a1 )讀取資料元素的值;

③ 檢索:即在表中查詢具有某個特徵值的資料元素;

④ 改寫:修改、存入表中第i個資料元素(1≤i≤n),即給第i個資料元素賦值;

⑤ 插入:在第i-1個和第i個資料元素之間(1≤i≤n)插入乙個新的資料元素,使原來的第i,i+1,……,n個資料元素變成為第i+1,i+2,……,n,n+1個資料元素;

⑥ 刪除:刪除第i個資料元素(1≤i≤n),使原來的第i+1,i+2,……,n個資料元素變成為第i,i+1,……,n-1個資料元素;

⑦ 排序:即按某個特徵值遞增(或遞減)的順序對錶中的資料元素重新排列。

⑧ 歸併:將兩個以上的有序線性表合併成乙個新錶。

系統提供的功能有:線性表的初始化操作,插入元素,刪除元素,顯示所有元素,排序和查詢第i個元素。使用者可根據顯示選單來進行相關操作。

例如在第i個元素之前插入乙個元素,首先要將尾元素到第i個元素向後移動一位,再將新元素傳送到第i個位置,即可。

例如刪除第i個元素時,要將第i+1個元素到最後乙個元素向前移到一位。尾數置零。

#include ""

main()

printf("\n");

for(i=0;i<10;i++)

for(;;)

for(i=de;i<9;i++)

a[i]=a[i+1];

a[9]=0;

}if(j==2)

for(i=8;i>=locate;i--)

a[i+1]=a[i];

a[locate]=data;

}if(j==3)

}} if(j==4)

printf("%d", a[locate]);

} if(j==5)

if(j==0)

if(j>5) }

}_輸入0選項實現數字的遍歷,按順序顯示輸入的資料。

刪除資料範圍內的數字.刪除後,后位數字依次向前移位,末位補0。

刪除資料範圍外的數字,顯示超出範圍請重新輸入。

插入資料位置在範圍內

插入資料位置超出範圍,顯示超出範圍請重新輸入。

對資料進行公升序排列。

按位置查詢.查詢資料位置範圍內,顯示該位置數字。

按位置查詢.查詢超出資料表範圍,顯示超出範圍請重新輸入。

輸入指令**5,退出程式。

(1)對資料進行排序時,按公升序排列。

(2)刪除指定位置元素時將該元素之後所有元素依次向前移動一位,尾元素置0。

做了這次課程設計,我覺得課程設計這種形式真的是我們需要的,可以讓我們學到很多,包括書上的、書外的。理論永遠不等於實際。在學排序演算法的時候,讀了書上的演算法描述,覺得自己都會了,考試題目也都做出來了,但真的到程式設計去實現它的時候,卻不是一次就成功的,總會出點差錯,迴圈的邊界條件啊,排序表的設計啊,等等,只得一次次改,等到程式終於正確執行的時候,才算真正會了這些演算法,理論和實際永遠差那麼一點,不去做是體會不出來的。

坐在電腦前才真正知道自己會不會,眼高手低是要不得的。在課程設計中我對資料結構有很大的認識和了解。近幾十年來,計算機的應用領域日益擴大,早已不再侷限於簡單的數值運算,而涉及到問題的分析、資料結構框架的設計以及插入、刪除、排序、查詢等複雜的非數值處理和操作。

資料結構的學習就是為以後從事非數值處理的程式設計打下堅實的理論、方法和技術基礎。資料結構是從事計算機軟體開發、應用人員必備的專業知識。隨著計算機的日益普及,掌握資料結構知識已成為計算機專業的基本要求。

摸索著用c語言做完課程設計,增強了自己的自學能力,這應該是最有用的吧,語言會過時,學習的能力卻不會過時。這次的課程設計也使我意識到了理論與實踐相結合的重要作用。

[1] 嚴蔚敏,吳偉民.資料結構(c語言版)[m].北京:清華大學出版社,2008

[2] 熊嶽山,劉越.資料結構與演算法[m].北京:電子工業出版社,2007.

[3] 蘇仕華編著.資料結構與演算法解析.合肥:中國科學技術大學出版社,2004

[4] 徐孝凱編著.資料結構實用教程. 北京:清華大學出版社,1999

隨著學校規模的發展,學生會越來越多,學生從全國各地來上學每個人的資訊需要大量的統計。例如乙個學生從某地來上學,每個學生的學號姓名政治面貌住址等資訊都不同。用筆和紙傳統的手工管理檔案,這中管理方式存在著不易更新、不易存放、不安全、容易丟失、難以備份等重大缺陷,管理起來效率低下而且很可能造成管理上的混亂。

而自己建立簡單的電子文件對個人資訊進行管理雖然克服了以上的缺點,但查詢效率較低,特別是當資料量十分龐大時,劣勢尤其明顯。因此開發乙個既可以儲存資訊,又可以進行插入、刪除、查詢、管理等功能,同時**又能為廣大消費者接受的多功能電子學籍資訊管理系統就顯得十分必要。

程式設計一般由兩部分組成:演算法和資料結構,合理地選擇和實現乙個資料結構和處理這些資料結構具有同樣的重要性。在學生學籍管理過程中,由於預計記錄對於乙個單位的學生數或人事數來說太大,操作除了能夠增加、刪除、儲存等外,更多的情況是查詢,且能夠實現快速查詢。

特別是當需要動態變化時利用鍊錶,例如插入和刪除資料等操作時,為方便插入和刪除人事記錄,通過資料的自動的移動資料,實現動態管理。

資料結構課程設計

指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...

資料結構課程設計

總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...

資料結構課程設計

環境與測繪學院 1 c 物件導向程式設計基礎 實驗簡介 學會用演算法語言c 描述抽象資料型別。理解資料結構的組成分為兩部分,第一部分是資料集 資料元素 第二部分是在此資料集上的操作。從物件導向的觀點看,這兩部分代表了物件的屬性和方法。掌握用c 描述資料結構的基本方法,即通過建立類來描述抽象資料型別。...