就像一開始我的串列連結 完全沒注意到要在 外面設定一個head
結構link
data儲存 資料
*next 指標next指向 下個結構
struct link{
 int data;
 struct link *next;
};
void Creat_node(struct link *,int);  //創建結點 
void Insert_node(struct link *,int,int); // 插入結點 
void Delete_node(struct link *,int); //刪除結點 
void Look_list(struct link *); //列表列出各個結點 
創建
______________________________________
插入
這邊的位置 指 第1個,第2個,第3個(依 某種順序而排列 的位置)
位址 指的是 那一塊結構的位址(如同門牌)
____________________________________________
刪除
____________________________________________
檢視.
檢視其實就是在指標只到下一個的時後順便把data印出來直到遇到NULL而已
所以就不放程式碼了(下方有 .c程式碼連結)
____________________________________________
稍微放下主程式的概念,有些程式碼沒放全,放全篇幅會拉太大
這邊的 head沒有指標,所以它的成員不能用-> ,
但是如果head的下一位 是用指標指的 那叫到它的成員就可以用
如: *(head.next).data or (head.next)->data
int main(){
 int act=0,value,rank,i;
 struct link head;
 char temp[10];
 //head 初值設定 
 head.data=0;
 head.next=NULL;
 while (act!=4){
  act=0;
  //system("cls");
  printf("chose action type \ncreat_node[0],\ninsert_node[1],\ndelet_node[2],\nlook_node[3],\nleave[4]\n");
  scanf("%s",&temp);
  for(i=0;temp[i]!='\0';i++)   //預防有人很奇怪的給你輸入w或其他非數字 ,
   act=act*10+temp[i]-'0';  //下方rank 和 value都能用這種方法,只是我懶得用  
  if(act>=0&&act<5){
   if(act==0)
    //Creat_node(&head,value);
   else if(act==1)
    //Insert_node(&head,rank,value);
   else if(act==2)
    //Delete_node(&head,rank); 
   else if(act==3)
    //Look_list(&head);
   }
  }
 }
 system("pause");
 return 0;
}
____________________________________________
[C語言 練習 3]串鍊連結 程式碼
1.link test :練習 串列連結的建立 與 結構指標格式的使用
2.link test all in one :練習 串列連結的建立.插入.刪除.顯示
https://drive.google.com/drive/folders/1O2pdvfT9T0vl4vogYf_EZcYNEmb1JR55?usp=sharing
