因為有注釋,我直接copy**了。
#includeusing namespace std;
#define ok 1
#define error -1
#define max_size 100
typedef int status;
typedef int elemtype;
typedef struct lnode
lnode;
//頭插入法建立表,鍊錶的頭結點head作為返回值
lnode *create_linklist()
return(head);
}//在以l為頭結點的單鏈表的第i個位置插入值為e的結點
void insert_lnode(lnode*l,int i,elemtype e)
if(j!=i-1)
else
}//刪除以l為頭結點的單鏈表中的第i個結點 1=next!=null
void delete_linklist(lnode*l,int i)
if(j!=i)printf("i太大或i為0 \n");
else
}elemtype get_elem(lnode *l,int i)
if(j!=i)
else
}//返回第乙個 值為e的指標結點
lnode *locate_node(lnode *l,elemtype e)
if(p==null)
else if(p->data==e)
else return null; }
lnode*merge_linklist(lnode*la,lnode *lb)
else if(pa->data>pb->data) //當pa==null時,就不能指了,因此ppt又錯了,應該用我剛開始出現的,if else if 結構這樣就可以比較一次就迴圈了,
//不然也可以對為null進行判斷
else if(pa->data==pb->data)
}if(pa==null)
else
pc->next=pa;
free(lb);
return (lc);
}int main()
/*lnode*p1= locate_node(ll,31);
if(p1==null){} //這是測試locate_node()函式的
else
cout<<"\n"//cout
lnode*lc;
lc=merge_linklist(ll,l2);
return 0;
}
資料結構學習 2 鍊錶
重點講一下插入和刪除以及頭插法和尾插法,其他的應該很好推。status listinsert linklist l,int i,elemtype e if p j i s linklist malloc sizeof node 生成新節點 s data e 元素賦值 s next p next 把p...
資料結構學習 鍊錶
將從下面4部分進行介紹 首先介紹鍊錶是什麼,然後介紹為什麼定義鍊錶,接著是鍊錶的分類,最後簡單介紹一下鍊錶結點的插入與刪除方法。首先,在介紹鍊錶之前,我們先介紹一下什麼是順序儲存結構。我們知道資料在計算機中的儲存就像貨物在倉庫中的儲存一樣,不但占用一定的空間,還要有乙個標示儲存位置的位址。計算機通過...
資料結構學習 鍊錶
由於不必須按順序儲存,鍊錶在插入的時候可以達到o 1 的複雜度,比另一種線性表順序表快得多,但是查詢乙個節點或者訪問特定編號的節點則需要o n 的時間,而線性表和順序表相應的時間複雜度分別是o logn 和o 1 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶...