資料結構 線性表 單鏈表C語言實現

2021-08-19 15:49:11 字數 1698 閱讀 5090

//單鏈表的練習

#include "stdlib.h"

#include "stdio.h"

void printlinklist(struct node *h);

//單鏈表資料結構

typedef

struct node lnode,*linklist;

//建立鍊錶 帶頭結點

linklist createlinklist(int n)

q->next=null;

return h;

}//查詢鍊錶中某個資料

//查詢操作不涉及修改鍊錶中的節點位置,所以依然返回之前的頭結點,不作修改

linklist findelem(linklist h)

p = p->next;

i++;

}if (flag == 1) else

return h;

}//向鍊錶中插入資料

linklist insertlist(linklist h)

while(p!= null && n > j+1)

printf("%d\n",p->data);

if (p ==null)

q->next = p->next;

q->data = data;

p->next = q;

return h;

}linklist insert_linklist(linklist h)

//在有序單鏈表中插入元素,鍊錶仍然有序

else

break;

}s = (linklist)malloc(sizeof(lnode));

if(!s) return

0; s->data = x;

q->next = s;

s->next = p;

return h;

}//插入資料操作2

linklist insertlist2(linklist h) else

p = p->next;

i++;

}printf("%d\n",p->data);

if (p == null) else

return h;

}return h;

}//刪除鍊錶中值為x的資料

linklist deleatelist(linklist h)else

}return h;

}//刪除鍊錶中所有值為偶數的節點

linklist deleven_linklist(linklist h)

else

}return h;

}//鍊錶清空

linklist clearlist(linklist h)

h->next = null;

return h;

}//鍊錶逆轉

linklist reversed(linklist h)

h->next = p;

return h;//返回頭指標

}//計算單鏈表的長度,並遍歷單鏈表輸出單鏈表表的內容

void printlinklist(struct node *h)

printf("\n");

printf("單鏈表的長度為:%d\n",i);

}void menu()

int main()

}}

資料結構(C語言)線性表 單鏈表

鏈式儲存 不要求邏輯上相鄰的元素在物理位置上也相鄰,摒棄順序儲存結構上的缺點,但也失去了順序表隨機訪問的優點。單鏈表 只含有乙個指標域,頭指標沒有資料域,尾指標的指標域為空。線性表的單鏈表儲存結構 include include define ok 1 define error 0 typedef ...

個人學習 資料結構 線性表,單鏈表C語言實現

color blue 線性表插入演算法思路 如果插入位置不合理,丟擲異常 如果線性表長度大於等於陣列長度,則丟擲異常貨動態增加容量 從最後乙個元素開始想前遍歷到第i個位置,分別將他們都向後移動乙個位置 將要插元素填入位置i處 表長加1 color define maxsize 20 define o...

資料結構 線性表 單鏈表

本文只要實現單鏈表的初始化 插入 尾插 頭插 任意位置插入 刪除 尾刪 頭刪 刪除指定元素 查詢等。定義單鏈表 typedef int datatype typedef struct linknode linknode,plinknode,plist 實現單鏈表的所有介面 void initlink...