1樓:匿名使用者
#include
#include
struct lnode//定義單連結串列結點
;struct lnode *creat();//creat(建立單連結串列)函式的呼叫宣告
void print (struct lnode *head,char a);//print(列印單連結串列)函式的呼叫宣告
void main ()//主函式
struct lnode *creat()//定義指標函式 creat(地址)及建立一個單連結串列 ,其返回值是一個單連結串列的首地址
rear->next=null;//指標 rear 移至最後一個結點處,將此結點的指標域 制空(null)
puts("the list you input is :");
print(head->next,a);//呼叫 print 函式
return head->next;//函式結束時返回建立的單連結串列的頭指標(此頭指標指向的結點為輸入的第一個數值所存放的結點)
}void print (struct lnode *head,char a)/*定義一個 print 函式,及列印函式,將單連結串列head中元素輸出,
a為要輸出單連結串列的名稱*/
puts(")");
}同上但不帶備註:
#include
#include
struct lnode
;struct lnode *creat();
void print (struct lnode *head,char a);
void main ()
struct lnode *creat()
rear->next=null;
puts("the list you input is :");
print(head->next,a);
return head->next;
}void print (struct lnode *head,char a)
puts(")");}
2樓:
首先構造一個結構體
結構體中含有一個指向本結構體的指標
然後宣告一個指向本結構體型別的指標head_ptr;
依次往下申請連結即可
如何建立單連結串列?
3樓:52茹月
建立單連結串列的常用方法有兩種:頭插法建表、尾插法建表
(1) 頭插法建表
該方法從一個空表開始,讀取陣列a中的字元,生成新結點,將讀取的資料存放到新結點的資料域中,然後將新結點插入到當前連結串列的表頭上,直到結束為止。演算法如下:
}(2) 尾插法建表
頭插法建立連結串列雖然演算法簡單,但生成的連結串列中結點的次序和原陣列元素的順序相反,若希望兩者次序一致,可採用尾插法。該方法是將新結點插到當前連結串列的表尾上,為此必須增加一個尾指標r,使其始終指向當前連結串列的尾結點。演算法如下:
r-> next = null;}
4樓:蒼可彤韻
1,前插法入鏈
//用前插法,逐步建立連結串列(使得結點入鏈)void
enlink1(int
num,int
score,char
name[10])}
5樓:碩鋒枝華容
#include
#include
using
namespace
std;
#define
datatype2
char
typedef
struct
node
linklist;
//尾插法建表
void
createlistr
(linklist
*&l,
datatype2
array)
r->next
=null;
}//頭插法建表
void
createlistf
(linklist
*&l,
datatype2
array)
}int
main();
linklist
*l;createlistr
(l,a);
linklist*p=
l->next;
while
(p!=
null)
cout
< linklist *h;createlistf (h,a); linklist*q= h->next; while (q!= null) cout < return0;} 這是兩種不同的建立單連結串列的方法,你執行一下就能看它們之間的區別的了,我是用c++寫的,如果你要用c的話,把標頭檔案和那個輸出語句改一下就行了 6樓:羽強務採南 單連結串列的建立 typedef struct nodenode; node *create() p=(node *)malloc(sizeof(node)); p->data=x; if(++i==1) else q=p; }q->next=null; return head;} 7樓:晧寶是隻小猴子 1、連結儲存方法 連結方式儲存的線性表簡稱為連結串列(linked list)。 連結串列的具體儲存表示為: ① 用一組任意的儲存單元來存放線性表的結點(這組儲存單元既可以是連續的,也可以是不連續的) ② 連結串列中結點的邏輯次序和物理次序不一定相同。為了能正確表示結點間的邏輯關係,在儲存每個結點值的同時,還必須儲存指示其後繼結點的地址(或位置)資訊(稱為指標(pointer)或鏈(link)) 注意:鏈式儲存是最常用的儲存方式之一,它不僅可用來表示線性表,而且可用來表示各種非線性的資料結構。 2、連結串列的結點結構 ┌──┬──┐ |data | next│ └──┴──┘ data域--存放結點值的資料域 next域--存放結點的直接後繼的地址(位置)的指標域(鏈域) 注意:①連結串列通過每個結點的鏈域將線性表的n個結點按其邏輯順序連結在一起的。 ②每個結點只有一個鏈域的連結串列稱為單連結串列(single linked list)。 【例】線性表(bat,cat,eat,fat,hat,jat,lat,mat)的單連結串列示如示意圖 3、頭指標head和終端結點指標域的表示 單連結串列中每個結點的儲存地址是存放在其前趨結點next域中,而開始結點無前趨,故應設頭指標head指向開始結點。 注意:連結串列由頭指標唯一確定,單連結串列可以用頭指標的名字來命名。 【例】頭指標名是head的連結串列可稱為表head。 終端結點無後繼,故終端結點的指標域為空,即null。 4、單連結串列的一般圖示法 由於我們常常只注重結點間的邏輯順序,不關心每個結點的實際位置,可以用箭頭來表示鏈域中的指標,線性表(bat,cat,fat,hat,jat,lat,mat)的單連結串列就可以表示為下圖形式。 5、單連結串列型別描述 typedef char datatype; /* 假設結點的資料域型別為字元 */ typedef struct node listnode; typedef listnode *linklist; listnode *p; linklist head; 注意:①linklist和listnode *是不同名字的同一個指標型別(命名的不同是為了概念上更明確) ②linklist型別的指標變數head表示它是單連結串列的頭指標 ③listnode *型別的指標變數p表示它是指向某一結點的指標 6、指標變數和結點變數 ┌────┬────────────┬─────────────┐ │ │ 指標變數 │ 結點變數 │ ├────┼────────────┼─────────────┤ │ 定義 │在變數說明部分顯式定義 │在程式執行時,通過標準 │ │ │ │函式malloc生成 │ ├────┼────────────┼─────────────┤ │ 取值 │ 非空時,存放某型別結點 │實際存放結點各域內容 │ │ │ 的地址 | │ ├────┼────────────┼─────────────┤ │操作方式│ 通過指標變數名訪問 │ 通過指標生成、訪問和釋放 │ └────┴────────────┴─────────────┘ ①生成結點變數的標準函式 p = malloc( sizeof(listnode) ); /* 函式malloc分配一個型別為listnode的結點變數的空間,並將其首地址放入指標變數p中 */ ②釋放結點變數空間的標準函式 free(p); /* 釋放p所指的結點變數空間 */ ③結點分量的訪問 利用結點變數的名字*p訪問結點分量 方法一:(*p).data和(*p).next 方法二:p-﹥data和p-﹥next ④指標變數p和結點變數*p的關係 指標變數p的值——結點地址 結點變數*p的值——結點內容 (*p).data的值——p指標所指結點的data域的值 (*p).next的值——*p後繼結點的地址 *((*p).next)——*p後繼結點 注意:① 若指標變數p的值為空(null),則它不指向任何結點。此時,若通過*p來訪問結點就意味著訪問一個不存在的變數,從而引起程式的錯誤。 ② 有關指標型別的意義和說明方式的詳細解釋 道峰山營 單連結串列中head p是為了儲存頭節點指標。單連結串列是一種鏈式存取的資料結構,用一組地址任意的儲存單元存放線性表中的資料元素。連結串列中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的地址資料。... 溪貝0號 扣著的是頭節點 頭子 車是首節點 首子 馬是次節點 次子 牙籤細的是指標指向,香頭髮黑的是指向,鐵頭細的是指向。以下是while迴圈 條件 香頭指向不為空 第一個迴圈把馬弄到車前面,第二個迴圈把相弄到馬前面 第三個迴圈把士弄到相前面 直到香指向為空後停止迴圈。如下 只需要一個首結點phea... 問明 void link order stu p head stu pb,pf,temp pf p head if p head null 連結串列為空printf needn t order.n return if p head next null 連結串列有1個節點 printf only on...單連結串列中head p是什麼意思,單連結串列中head p是什麼意思?
如何用c語言實現單連結串列的逆置
c語言 單向連結串列如何排序,C語言 單向連結串列如何排序?