#include #include #include using namespace std;
typedef int elemtype;
typedef struct node
node,*linkedlist;
//把struct node *定義為新型別linklist,是乙個結構體的指標。
void initlinkedlist()
linkedlist createlinkedlisthead(int n)//頭插法
return l;
}linkedlist createlinkedlisttail(int n)//尾插法
r->next = null;
return l;
}void insertlinkedlist(linkedlist l,int i,elemtype x)//插入元素
node *s;
s=(node *)malloc(sizeof(node));
s->data = x;
s->next = p->next;
p->next = s;
}void output(linkedlist l)
}void deletelinkedlist(linkedlist l,int i)//刪除i位置上的元素
q=p->next;
p->next = p->next->next;
free(q);
}int getelem(linkedlist l,int i)//獲取元素
if(!p || j>i)
printf("第%d個節點不存在\n",i);
e=p->data;
return e;
}void clearlist(linkedlist l)
l->next=null;
}int main()
else
return 0;
}
順序儲存結構與單鏈表結構的區別:
順序儲存結構是用一段連續的儲存單元儲存的,而單鏈表是用離散的儲存單元儲存的。
順序儲存結構適用於頻繁的進行查詢操作,而很少進行插入刪除操作。
當要頻繁的進行插入刪除操作時,就要選取單鏈表結構。
順序訪問結構需要預先申請空間。而單鏈表不需要,元素個數也不受限制。
頭插法和尾插法建立單鏈表
頭插法和尾插法建立單鏈表 include using namespace std typedef int elemtype typedef struct lnode linklist 頭插法建表 從尾部乙個乙個往前插入 void createlisthead linklist l,elemtype ...
頭插法與尾插法建立單鏈表
單鏈表的建立一般主流分為兩種建立方式 頭插法和尾插法。頭插法1 建立頭節點,維護head指標 引用 來指向頭節點 2 newnode表示待插入節點,維護newnode指向新節點 3 case1 當鍊表為空時,即首次插入新節點,將head.next指向新插入節點,即head.next newnode ...
頭插法和尾插法建立單鏈表
頭插法建立單鏈表 include include typedef struct lnodenode,linklist linklist headinsert linklist 頭插法建立單鏈表 void output linklist 遍歷輸出 int main void 頭插法建立單鏈表 link...