單鏈表作為一種簡單的線性資料結構,是一種較為基礎的資料結構,我利用c++**實現了它的一部分基本功能。這些演算法都是較為基本的,只需要注意其邏輯即可,值得一提的是,l作為頭節點,在每次操作的時候都要將其賦值給別的指標,以免產生混亂。
#includeusing namespace std;
struct lnode;
typedef lnode* linklist;
//creat list
bool initlist_l(linklist &l)
l->next = null;
return true;
}//前插法構造
void creat_list_h(linklist &l)
} //尾插法構造
void creat_list_b(linklist &l)
} //查詢元素
bool get_elem(linklist &l,int e)
if(!p)
return true;
} //單鏈表的插入,在第i個位置插入元素e
bool list_insert(linklist &l,int i,int e)
while(!p||j>i-1)
return false;
s = new lnode;
s->data = e;
s->next = p->next;
p->next = s;
return true;
} //單鏈表的刪除,刪除第i個元素
bool list_delete(linklist &l,int i)
if (!(p->next)||(j>i-1))
return false;
q = p->next;
p->next = q->next;
delete q;
return true;
} //輸出單鏈表
void list_print(linklist &l)
cout<>choose;
switch(choose)
else
break;
case 7:
list_print(l);
cout
} } return 0;
}
資料結構學習筆記 單鏈表
陣列優勢在於快速定位元素,對於讀操作多,寫操作少的場景,陣列更合適 鍊錶優勢在於快速的插入和刪除操作,如果頻繁的在尾部刪除和插入元素,用鍊錶更好 package com.cc.node public class nodedemo1 private node head private node las...
資料結構學習筆記 單鏈表
準備知識在另一篇部落格 單鏈表預備知識 建立單鏈表 頭插法 每次都是從頭結點插入乙個元素的方法,所以它是倒序的。struct lnode 建立結點結構體,由資料域和指標域組成 linknode void createlistf linknode l,elemtype a,int n 從陣列a中讀取資...
資料結構學習筆記3 單鏈表
1.相對於順序表的線性儲存,順序表的鏈式儲存 單鏈表為例 最突出的優點 對元素的插入與刪除非常快 順序表的線性儲存插入和刪除需要移動大量的元素,操作速度緩慢 而獲取元素的速度相對而言比較快 單鏈表剛好和他相反,插入和刪除很快,獲取元素速度比不上線性表 2.單鏈表的形式 3.單鏈表的插入和刪除 4.除...