嚴版資料結構第28頁定義的單鏈表儲存結構:
typedef struct lnode lnode,*linkedlist;
實現書中演算法2.8——2.11:
#include#include#include#define elemtype int
#define status int
#define error 0
#define ok 1
using namespace std;
typedef struct lnode lnode,*linkedlist;
//演算法2.8 查詢結點
status getelem_l(linkedlist l, int i, elemtype &e)
if (!p || j > i)
return error;
e = p->data;
return ok;
}//演算法2.9 新增結點
status listinsert_l(linkedlist &l, int i, elemtype e)
if (!p || j > i - 1)
return error;
lnode *s = (linkedlist)malloc(sizeof(lnode));
s->data = e;
s->next = p->next;
p->next = s;
return ok;
}//演算法2.10 刪除結點
status listdelete_l(linkedlist &l, int i, elemtype &e)
while (jnext) || j > i - 1)
return error;
lnode *q = p->next;
p->next = q->next;
e = q->data;
free(q);
return ok;
}//逆位序建立線性表,演算法2.11
void createlist_l(linkedlist &l, int n)
}void printlist_l(linkedlist &l)
cout << endl;
}void main()
else
int deletenumber,delete_elem=0;
cout << "刪除的元素位置:";
cin >> deletenumber;
status delete = listdelete_l(l, deletenumber, delete_elem);
if (delete)
else
system("pause");
}
線性表鏈式儲存結構
include include 線性表鏈式儲存結構 typedef struct lnodelnode,linklist int initlist linklist l 初始化 int endinsert linklist l,int e p next s return 1 末尾插入元素 int g...
線性表鏈式儲存結構
為了表示每個資料元素ai與其直接後繼資料元素ai 1之間的邏輯關係,對資料元素ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 我們把儲存資料元素資訊的域稱為資料域,把儲存直接後繼位置的域稱為指標域。指標域中儲存的資訊稱做指標或鏈。這兩部分資訊組成資料元素a...
線性表 鏈式儲存結構
1 線性表的鏈式儲存結構 每個元素多用乙個位置來存放指向下乙個元素位置的指標,依次類推,可以找到所有的元素。鏈式儲存中,除了要儲存資料本身外,還要儲存它的後繼元素的儲存位址 指標 資料域 儲存資料資訊的域 指標域 儲存直接後繼位置的域。這兩部分資訊組成資料元素稱之為儲存映像,節點node。鍊錶中每個...