1.前言
順序表是以陣列下標鄰接關係來表示線性表中資料元素之間的邏輯結構。其特性具有以下缺點:
a、陣列容量難以確定,我們往往給出乙個確定的容量數值。
b、在進行插入,刪除操作時,往往需要移動大量的陣列元素。
產生其原因:靜態儲存分配。
解決方法:使用動態儲存分配,也就是鏈式儲存結構(看來學習單鏈表是非常有必要的)。
2、單鏈表的實現
demo:
#include
using namespace std;
template //類模板作用:int a,a代表整形型別變數,而datatype代表資料型別的變數。
struct node //陣列用來儲存同一類的資料元素,然而結構體可以儲存不同類的資料元素
;template
class linklist
;linklist(datatype a,int n);
void print();
void add(datatype x,int i);
datatype del(int i);
int locate(datatype x);
private:
node*first;
};template
linklist::linklist()
template
linklist::linklist(datatype a,int n)
r->next=null;//當然最後乙個節點為空
}template
void linklist::print()
}template
void linklist::add(datatype x,int i)//新增
if(p==null) throw "位置";
else
}template
datatype linklist::del(int i)
if(p==null||p->next==null) throw "沒有該節點";
else
}template
int linklist::locate(datatype x)
}return 0;
/* node*p=first->next;
int count=1;
while(p!=null)
return 0;*/
}int main()
;linklistr(data,5);
r.print();
cout《學而不思則罔!
單鏈表的實現
include includetypedef struct node 定義鍊錶 snode snode creat 建立鍊錶的函式 q next null return head int length snode head 測鍊錶的結點數 return i void display snode he...
單鏈表的實現
單鏈表夜市線性表的一種表現形式,乙個表節點由乙個資料空間和乙個指標域組成。指標域記錄下乙個結點的位址。鍊錶在插入,刪除功能中效率高。但是讀取某個結點的時候需要順序讀取。效率不如順序儲存形式。下面是一些鍊錶實現的 鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h define...
單鏈表的實現
單鏈表是資料結構中重要並且基礎的一環,學習資料結構就需要知道單鏈表有的常用操作。1 單鏈表的頭插式建立 2 單鏈表的尾插式建立 3 單鏈表的長度計算 4 單鏈表的列印輸出 5 單鏈表的釋放操作 6 單鏈表是否為空判斷 7 單鏈表在指定index插入指定元素 8 單鏈表刪除指定index的節點 9 單...