C語言版數據結構:[2]鏈表的建立。
鏈表其實是線性表的連結存儲方式,這種方式下的存儲單元可以是連續的,也可以是不連續的。這裏我們主要討論鏈表的尾插法,頭插法和尾插法基本類似。座標爲您分享。
操作方法
(01)一、鏈表的建立分爲帶頭結點的頭插法和帶頭結點的尾插法,第一種方法插入順序和輸出順序是相反的。第二種方法插入順序和輸出順序是一致的。這裏我們主要介紹尾插法,頭插法基本類似。
(02)二、首先對頭檔案、數據結構、鏈表結點結構等進行聲明。
(03)#include <stdio.h>#include <stdlib.h>#define null 0typedef struct snode{char *name;char *no;int score[5];}typedefdata;typedef struct node{typedefdata data;struct node *next;}linklist;
(04)三、首先介紹帶頭檔案的尾插法建立鏈表。/*尾插法建立帶頭結點的單鏈表*/linklist *insert_new(){char flag;int x;char *na;char *num;int grade[5];linklist *head,*rear,*p;head = (struct node*)malloc(sizeof(linklist));//頭節點的空間分配rear = head;//頭尾相連進行初始化dowhile(flag != 'q');rear->next = null;return (head);}/*尾插法建立帶頭結點的單鏈表*/
(05)四、頭插法建立鏈表。頭插法其實與尾插法的最大不同是每次新增的節點都是從head處添加,需要修改的就是for(x=0;x<5;x++)p->e[x] = grade[x];p->next = head->next;head->next = p;printf("nn continue?q for quit!");
(06)五、主函數的編寫。int main(){insert_new();return 0;}
(07)六、測試我們只測試尾插法。
特別提示
鏈表的建立並不複雜,需要注意的是內存申請的語句形式p = (struct node*)malloc(sizeof(linklist));
-
怎麼在Excel列A數據中篩選出列B數據?
已知excel列A數據和列B數據有部分內容相同,怎樣才能篩選出哪些混在列A中的列B數據呢?最笨的方法就是複製列B的數據查找。這裏,我給大家分享一種方法,既準確又快捷的方法。不信,您嘗試一下。操作方法(01)開啟需要編輯的Excel檔案,觀察列A和列B,列A列B有部分內容重複,現需...
-
桌面圖標有藍底該怎麼解決
有時我們電腦開機後發現自己的的桌面圖標有藍底了,嚴重影響到自己的視覺效果。下來小藥就告訴大家常用的三種方法。操作方法(01)首先我們鼠標右鍵單擊我的電腦,選擇屬性選項,點擊進去後出現如圖所示。我們選擇進階大選項裏的性能裏的設定,點擊進入。(02)現在出現下圖所...
-
二進制、八進制、十進制、十六進制之間的轉換
進制也就是進制位,對於接觸過電腦的人來說應該都不陌生,我們常用的進制包括:二進制、八進制、十進制與十六進制,它們之間區別在於數運算時是逢幾進一位。比如二進制是逢2進一位,十進制也就是我們常用的0-9是逢10進一位。具體的用法小編今天不着重解釋,主要針對他們之...
-
電腦屏幕旋轉快速鍵 。電腦屏幕旋轉了怎麼辦
很多用戶有時會不小心觸發一些系統中的快速鍵導致電腦屏幕方向被更改又不知道怎麼恢復,這就來教一下怎麼旋轉屏幕。方法一(01)電腦屏幕旋轉快速鍵旋轉至正常位置:CTRL+ALT+方向鍵上。旋轉90度:CTRL+ALT+方向鍵左。旋轉180度:CTRL+ALT+方向鍵下。旋轉270度:CTRL+ALT+方...