2012 07 12 單鏈表

2021-06-07 17:13:19 字數 882 閱讀 2083

以前學c語言的時候,單鏈表的內容,老師沒有仔細的講。考二級的時候,遇到比較難的也是放棄了。從來木有好好研究過。由於昨天階段性測試的原因,有關於單鏈表的題目,實在是無從下手,所以只好把書拿出來翻翻,可是書上講的也不是很詳細,只好在部落格上搜了一些相關的內容看了一下,再結合當時上課記的筆記和考級前的培訓,就寫了些程式。

#include 

struct slink;

一、建表

從鍵盤輸入數值,只要不是-1,產生結點,-1表示建表結束。 

1.頭插法

struct slink *creat1( )

return head;

}2.尾插法

struct slink *creat2( )

rear->next=null;

return head;}

二、插入

1.p結點之後插入

new->next=p->next;

p->next=new;

2.p結點之前插入

struct slink *insert(struct slink *head,int x,int y)

/*規定:找不著x結點,y插入在表尾*/

else break;

}if(p==head)

else

return head;}

三、刪除

1.刪除p後繼結點

t=p->next;

p->next=t->next;

free(t);

2.刪除p自身

struct slink *delete(struct slink *head,int x)

else

}return head;

}

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...

單鏈表之排序單鏈表

package list public class sortedsinglylist extends singlylist 將values陣列中的所有物件按值大小插入 public sortedsinglylist t values 過載深拷貝,由單鏈表構建排序單鏈表 public sortedsi...

單鏈表 雙鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...