單鏈表的建立(頭插法尾插法),插入,刪除

2021-07-10 09:34:30 字數 1354 閱讀 7154

#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...