資料結構 鍊錶

2021-09-24 01:27:37 字數 2234 閱讀 3869

main.cpp

#include#include"linklist.h"

using namespace std;

int main()

; linknode* l1,*l2;

elemtype n = 0;

createlisth(l1, a, 5);

createlistb(l2, a, 5);

displist(l1); displist(l2);

n = getelem(l1, 3);

cout <

n = locateelem(l1, 3);

cout << "l1元素值為3的元素是第"<< n <

insertelem(l1, 4, 6);

cout << "插入後l1的值:";

displist(l1);

dellist(l1, 5);

displist(l1);

destroylist(l2);

destroylist(l1);

return 0;

}

linklist.cpp

#include"linklist.h"

#includeusing namespace std;

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

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

r->next = null;

}void destroylist(linknode*& l)

free(pre);

}bool empty(linknode* l)

int listlength(linknode* l)

return n;

}void displist(linknode* l)

cout << endl;

}elemtype getelem(linknode* l, int n)

p = p->next;

} return p->data;

}int locateelem(linknode* l, elemtype n)

if (p == null)

return 0;

else

return i;

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

if (p == null)return false;

else }

bool dellist(linknode*& l, int i)//刪除第i個節點

if (p == null)return false;

else

}

linklist.h

#ifndef _linklist_h_

#define _linklist_h_

typedef int elemtype;

typedef struct lnode

linknode;

void createlisth(linknode*& l, elemtype *a, int n); //頭插法建立

void createlistb(linknode*& l, elemtype *a, int n); //尾插法建立

void destroylist(linknode*& l);//銷毀

bool empty(linknode* l);//判空

int listlength(linknode* l);//返回長度

void displist(linknode* l);//輸出鍊錶

elemtype getelem(linknode* l, int n);//求第n個節點的值

int locateelem(linknode* l, elemtype n);//找到值為n的節點位置

bool insertelem(linknode*& l, int i, elemtype e);//在第i位前面插入元素

bool dellist(linknode*& l, int i);//刪除第i位前的元素

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...

資料結構 鍊錶

鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...

資料結構 鍊錶

一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...