和小白一起學資料結構七之線性表的順序結構及實現

2021-09-26 18:30:15 字數 1601 閱讀 2963

博主正式開學了,課業壓力很重,怕跟不上各位道友的期望,做不到每日一更,嗚嗚嗚嗚(抱頭哭泣)~總而言之,博主會繼續努力,一起加油!!加油!!!

博主是個對自己百分之百不自信不滿意的人,所以萬事不做到能力範圍內的最好是不可能開始嘗試一件事的,即使開學學習壓力較大,但部落格的質量一定會***。每天最少是一講,如果周

六、週日英語和復變函式的學習安排的海綿裡還有水,博主一定會盡可能做多做全面一些,就這樣,我們開始今天的內容吧。

(一)線性表的定義

(二)線性表的運算

線性表的基本操作如下:

(一)線性表的順序儲存結構

我們昨天的部落格講到了順序儲存結構的定義,即要求邏輯結構上的相鄰關係體現在物理結構上也要求相鄰,其結構示意圖如下所示:

b+c…b+(i-1)c

…b+(n-1)c

…b+(maxlen-1)c

元素所在的線性位序:12

3…i…

n…maxlen

(二)基本運算在順序表上的實現

#define maxsize《順序表的容量》

typedef structinode;

從中可以看出順序表是由陣列data和變數len兩部分組成的。為了反應data和len之間這種內在的聯絡,避免誤用,上述型別定義中將它們說明為結構體型別inode的兩個域。這樣inode型別完整地描述了順序表的組織。

1.初始化表:

void initlist(inode &l)

求表長:

int length( inode l)

取表中元素:

int getelem(l,i)

取直接前驅:

int priorelem( inode l,int x,int pre_x)

取直接後繼:

int nextelem( inode l,int x,int next_x)

定位:

int locateelem( inode l,elemtype x)

插入元素:

int listinsret( inode l,int i,elemtype x)

刪除元素:

int listdelete( inode l,int i)

(三)典型例題

例1:編寫乙個函式用不多於3n/2的平均比較次數,在乙個線性列表中找出最大值和最小值:

void maxmin(inode l,int len)

if(l.data[i]<0)

}}

今天就先到這裡,本來準備的是線性表在這一塊梳理完,字數太多看著負擔太重了。小白在知乎上開的專欄裡有乙個有趣的現象,就是讀完率最低的那篇文章的收藏率最高。博主不希望對各位造成心理上的負擔陰影,寫出來讓各位道友覺得乾貨壓力大看不下去收藏起來之後看的文章,而是可以高高興興看完並且當時就有收穫的部落格。

以上~明天見!

和小白一起學資料結構九之線性表總結及一元多項式

今天博主收一下線性表的尾,然後寫一句話,給坐在螢幕前的你 我往宇宙撒了一把鹽,如果凌晨三點前還睡不著,今晚吃鹽焗小星球!1.空間方面 2.時間方面 1.多項式的表示 數學上可按公升冪排列,它由n 1個係數唯一確定。2.一元多項式的相加 3.典例 例1 已知稀疏多項式,pn x c1xe1 c2xe2...

小白學資料結構 線性表

順序表的操作可視為一維陣列的操作,不予贅述。線性鍊錶的基本操作 構造鍊錶以及對其增刪查改等,在此列出在指定位置插入節點和刪除節點的 c語言實現 include include include typedef int elemtype typedef struct linear list 動態定義線性...

和小白一起學資料結構二之c語言和指標

今天呢我們主要複習一下c語言和指標基礎,注意注意 這裡僅包括指標部分。今天看書的時候翻到當時自學計算機組成原理時的筆記,乾貨滿滿很想和各位道友一同分享。關於組成原理和c語言基部分,如果大家有要求,更完資料結構或者資料結構的每日任務完成之後再補充 繼續話不多說,進入我們今天的學習中吧。提到c語言,從第...