資料結構複習 線性表鏈式表示

2021-10-08 09:19:06 字數 1304 閱讀 3183

#include #include #include using namespace std ;

typedef int elemtype ;

// 單鏈表的節點型別

typedef struct lnodelinknode ;

// 頭插法建立單鏈表

void createlistf(linknode *&l ,elemtype a ,int n)

}// 尾插法建立單鏈表

void createlistr(linknode *&l ,elemtype a ,int n )

r->next = null ;

return ;

}// 按照序號查詢節點的值

lnode *getelem(linknode *l,int i ,elemtype &e)

if(p == null) else

}// 按照值查詢節點

lnode *locateelem(linknode *l , elemtype e)

p = p->next ;

}if(flag) return p ;

else return null; // 沒有找到這樣的節點

}// 插入操作

bool listinsert(linknode *&l , int i ,elemtype e)

if(p == null) return false ; // 未找到位序為i-1的位序

else

}// 刪除某一節點

bool listdelete(linknode *&l , int i , elemtype &e)

if(p == null ) return false ;

else

}bool listempty(linknode *l)

int listlength(linknode *l)

return(i);

}void destrorylist(linknode *&l)

free(pre) ;

}void printlink(linknode *l)

return ;

}int main()

createlistr(l,a,10) ;

printlink(l) ;

lnode * node = getelem(l,5,e) ;

cout<<"e : "listinsert(l,1,99) ;

printlink(l);

return 0 ;

}

資料結構 線性表鏈式儲存

對於線性鍊錶,有兩種表示方法,一種是包含頭節點的情況,如下圖 一種是不包含頭節點的情況,如下圖 本文中對線性鍊錶的表示,利用的是帶頭節點的定義方式。使用c 實現了線性鍊錶建立,初始化,刪除,插入,清空,遍歷,有序鍊錶合併等操作。煉表頭 頭指標 頭結點 煉表頭 指的是線性表第乙個元素所在結點 頭指標 ...

資料結構 線性表(鏈式儲存)

1 順序表 需要一片連續的記憶體空間,成員可以隨機訪問,訪問效率高 插入刪除資料存在資料搬移的現象,效率低 儲存密度高 鍊錶的特點 不需要連續的記憶體空間,不能隨機訪問元素,訪問效率低 插入刪除資料不存在資料搬移的現象,效率高 儲存密度比較低 2 無頭鍊錶 第乙個節點為資料節點,加入刪除第乙個節點,...

資料結構 線性表(鏈式 單)

線性表是最常用且最簡單得一種資料結構。簡言之,乙個線性表是n個資料元素得有限序列。typedef int elemtype typedef struct lnodelnode,linklist ifndef linklist h define linklist h include include t...