單鏈表的操作

2021-07-25 13:44:59 字數 1416 閱讀 8846

1、單鏈表:線性鍊錶

插入:根據插入的位置,分3種,第乙個結點前,最後乙個結點後,插入在中間

刪除:也同樣分為3種,刪除第乙個結點,刪除最後乙個結點,刪除中間的結點

#include using namespace std;

typedef struct linknode

linknode;

//鍊錶的建立

linknode * createlink()

printf("請輸入第1個資料:");

scanf("%d",&head->data);

head->next = null;

ptr = head;

for(i=1;i<5;i++)

printf("請輸入第%d個資料:",i+1);

scanf("%d",&p->data);

p->next = null;

ptr->next = p;

ptr = ptr->next;

} return head;

}//查詢鍊錶結點

linknode *findnode(linknode *head,int num)

return ptr;

}//鍊錶結點的插入

linknode *insertnode(linknode *head,linknode *ptr,int value)

else }

return head;

}//鍊錶結點刪除

linknode * deletenode(linknode *head,linknode *ptr)

if(ptr->next==null) //要刪除的結點是最後乙個結點

pre->next = null;

else

pre->next = ptr->next;

} free(ptr);//釋放結點記憶體

return head;

}//鍊錶輸出

void printnode(linknode *ptr)

printf("\n");

}//鍊錶的記憶體釋放

void freelinknode(linknode *head)

}void main()

printf("請輸入要查詢並刪除的資料:\n");

scanf("%d",&num);

ptr = findnode(head,num);

if(!ptr)

printf("沒有找到\n");

else

freelinknode(head);

system("pause");

}

結果輸出:

單鏈表的操作

單鏈表是一種非常重要的資料結構,下面用c語言對單鏈表的操作做乙個簡單的總結 typedef struct nodenode,linklist 1 單鏈表的建立 建立乙個單鏈表,鍊錶裡面存放有十個偶數 2到20 有頭節點,頭節點不存放元素。linklist createlinklist return ...

單鏈表的操作

1.定義單鏈表的介面函式 ifndef linklist h define linklist h typedef int elemtype typedef struct node node node initnode bool addnode node head,elemtype data 頭插法 ...

單鏈表的操作

pragma once extern c list node,list link 頭插建立鍊錶 list link create list head int n 尾插法建立鍊錶 list link creat list tail int n 獲取長度 int get list length list...