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