編譯環境: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...