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...