單鏈表常見操作

2021-07-03 08:27:39 字數 998 閱讀 5382

編譯環境:vs2008

#include#includetypedef char datatype;

typedef struct listnodelistnode, * linklist;

/*建立乙個空的帶頭結點的鍊錶*/

linklist createlist()

/*建立乙個非空的鍊錶,頭插法*/

int createlistbyhead(linklist &head)

return 1;

}/*頭插法建立鍊錶,返回鍊錶的頭指標*/

linklist createlistbyhead1()

return head;

}/*新增節點*/

int add(linklist &head,datatype value)

linklist insertnode = (listnode *)malloc(sizeof(listnode));

insertnode->data = value;

insertnode->next = p->next;

p->next = insertnode;

return 1;

}/*return node by location*/

linklist get(linklist &head,int location)

return p;

}int del(linklist &head,int location)

/*刪除節點不存在,有可能刪除節點的前驅存在,但要刪除節點位置的前驅為終端節點是也不合法*/

if(p->next)

return -1;

listnode *q = p->next;//

if(q->next==null)//如果要刪除的節點是最後乙個節點

else

return 1;

}void printlist(linklist &head)

}

單鏈表常見操作

鏈結方式儲存的線性表簡稱為鍊錶 linked list 鍊錶的具體儲存表示為 用一組任意的儲存單元來存放線性表的結點 這組儲存單元既可以是連續的,也可以是不連續的 鍊錶中結點的邏輯次序和物理次序不一定相同。為了能正確表示結點間的邏輯關係,在儲存每個結點值的同時,還必須儲存指示其後繼結點的位址 或位置...

C語言單鏈表常見操作

include include 定義單鏈表結構體 typedef int elemtype typedef struct node lnode,linklist 建立單鏈表 void build linklist l 求單鏈表的長度 void linklength linklist l printf...

C語言單鏈表常見操作系列

include include 定義單鏈表結構體 typedef int elemtype typedef struct node lnode,linklist 建立單鏈表 void build linklist l 求單鏈表的長度 void linklength linklist l printf...