當前位置:成語大全網 - 漢語詞典 - 如何用C語言在空的順序線性表中存儲壹系列數據元素?

如何用C語言在空的順序線性表中存儲壹系列數據元素?

在壹個空的順序線性表中存儲壹系列數據元素。

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

/*

1.創造結構——具體事物的抽象

2.創建壹個鏈接列表

3.創建壹個節點

4.插入操作

4.1?標題插入

4.2?頁腳插入

4.3?在指定位置插入(在指定位置之前)

5.刪除操作

5.1?標題刪除

5.2?頁腳刪除

5.3?指定位置刪除

6.判斷是否為空。

7.打印鏈接列表

*/

//單鏈表的結構

typedef?struct?單壹列表

{

//數據字段

int?數據;?//以這個數據為例

//struct?MMmyMM

//指針字段

struct?單身名單?*下壹個;

}LIST,* LPLIST

/*

別名:習慣大寫

別名-昵稱

//優點:字數少,好看(意思更簡潔)

struct?SingleList是另壹個名字:LIST

strcut?單身名單?*換個說法吧:?LPLIST

*/

//-& gt;2.創建壹個鏈表——任何結構都需要用壹個東西來表示。

LPLIST?創建列表()

{

//創建過程就是初始化過程——初始化基礎數據成員的過程。

//需要內存空間

LPLIST?列表?=?(LP LIST)malloc(sizeof(LIST));

如果?(列表?==?nullptr)

{

Printf("失敗\ n ");

系統(“暫停”);

退出(0);

}

//用表頭初始化基礎數據成員鏈表。

列表-& gt;下壹個?=?nullptr

回歸?列表;

}

//-& gt;3.創建壹個節點

LPLIST?CreateNode(int?數據)

{

//1.需要內存

LPLIST?節點?=?(LP LIST)malloc(sizeof(LIST));

//2.初始化基本數據成員

節點->;數據?=?數據;//並創建壹個有更多數據字段的鏈表。

節點->;下壹個?=?nullptr

回歸?節點;

}

//-& gt;4.1?頭部插入法

//函數編寫:形參可以指示操作什麽。

//插入的鏈表是(List),插入了多少數據(data)

作廢?insertlisheadnode(LP list?List,int?數據)

{

//Insert:創建插入的節點。

LPLIST?newNode?=?CreateNode(數據);//創建壹個節點

//插入操作

新節點-& gt;下壹個?=?列表-& gt;接下來;

/*

c=1

b=2

a = c;

c = b;

*/

列表-& gt;下壹個?=?newNode

}

//-& gt;4.2?尾部插入法

作廢?insertlistailnode(LP list?列表,?int?數據)

{

//查找頁腳->定義移動指針。

LPLIST?tailNode?=?列表;

什麽時候?(tail node->;下壹個?!=?nullptr)

{

tailNode?=?tail node-& gt;接下來;

}

//創建插入的節點

LPLIST?newNode?=?CreateNode(數據);

tail node-& gt;下壹個?=?newNode

}

//-& gt;4.3?指定地點

作廢?InsertListAppoinNode(LPLIST?列表,?int?數據,?int?PosData)

{

//創建兩個移動指針:找到指定位置和指定位置的前面。

LPLIST?frontNode?=?列表;

//front node-& gt;Next==taiNode:判斷鄰接

LPLIST?tailNode?=?列表-& gt;接下來;

//判斷是否為空。

什麽時候?(tail node->;數據?!=?PosData)

{

/*

front node = front node-& gt;接下來;

tail node = tail node-& gt;接下來;

*/

frontNode?=?tailNode

tailNode?=?front node-& gt;接下來;

如果?(tailNode?==?nullptr)

{

Printf("找不到指定的位置\ n ");

系統(“暫停”);

退出(0);

}

}

//tail node-& gt;數據=數據;

//找到插入的節點後創建它。

LPLIST?newNode?=?CreateNode(數據);

front node-& gt;下壹個?=?newNode

新節點-& gt;下壹個?=?tailNode

}

//-& gt;5.判斷是否為空。

//與創建時相比

intIsEmptyList(LPLIST?列表)

{

如果?(列表-& gt;下壹個?==?nullptr)

回歸?1;//返回1,表示為空。

回歸?0;?//表示它不為空。

}

/////-& gt;打印數據

作廢?PrintList(LPLIST?列表)

{

如果?(IsEmptyList(List))

{

Printf("鏈表為空,無法打印");

系統(“暫停”);

退出(0);

}

LPLIST?pNext?=?列表-& gt;接下來;

什麽時候?(pNext?!=?nullptr)

{

printf("%d\t ",p next-& gt;數據);

pNext?=?p next-& gt;接下來;

}

printf(" \ n ");

}

//-& gt;7.刪除

//標頭刪除

作廢?DeleteListHeadNode(LPLIST?列表)

{

如果?(IsEmptyList(List))

{

Printf("鏈表為空,不能刪除\ n ");

系統(“暫停”);

退出(0);?

}

LPLIST?DNode?=?列表-& gt;接下來;

列表-& gt;下壹個?=?DNode-& gt;接下來;

免費(DNode);

DNode?=?nullptr

}

//-& gt;8.刪除末尾

作廢?DeleteListTailNode(LPLIST?列表)

{

如果?(IsEmptyList(List))

{

Printf("鏈表為空,不能刪除\ n ");

系統(“暫停”);

退出(0);

}

//查找頁腳->定義移動指針。

LPLIST?tailNode?=?列表-& gt;接下來;

LPLIST?車尾?=?列表;

什麽時候?(tail node->;下壹個?!=?nullptr)

{

車尾?=?tailNode

tailNode?=?tail front->;接下來;

}

tail front->;下壹個?=?nullptr

free(tail node);

}

//-& gt;9.在指定位置刪除

作廢?deletelisappoinnode(LP list?列表,?int?PosData)

{

//創建兩個移動指針:找到指定位置和指定位置的前面。

LPLIST?frontNode?=?列表;

//front node-& gt;Next==taiNode:判斷鄰接

LPLIST?tailNode?=?列表-& gt;接下來;

//判斷是否為空。

什麽時候?(tail node->;數據?!=?PosData)

{

/*

front node = front node-& gt;接下來;

tail node = tail node-& gt;接下來;

*/

frontNode?=?tailNode

tailNode?=?front node-& gt;接下來;

如果?(tailNode?==?nullptr)

{

Printf("找不到指定的位置\ n ");

系統(“暫停”);

退出(0);

}

}

front node-& gt;下壹個?=?tail node-& gt;接下來;

free(tail node);

}

int?主()

{

LPLIST?列表?=?create list();//列表創建成功。

printf(" insert:\ n ");

InsertListHeadNode(列表,1);

InsertListHeadNode(列表,2);

InsertListHeadNode(列表,3);

InsertListTailNode(列表,0);

PrintList(列表);

printf(" Delete:\ n ");

DeleteListHeadNode(列表);

PrintList(列表);

DeleteListTailNode(列表);

PrintList(列表);

Printf("指定位置:\ n ");

//不懂可以問群主。

InsertListAppoinNode(列表,4,?2);

InsertListAppoinNode(列表,3,?2);

//C/C++?第八組

PrintList(列表);

//?491994603

DeleteListAppoinNode(列表,2);

PrintList(列表);

系統(“暫停”);

回歸?0;

}要在壹個空的順序線性表中存儲壹系列數據元素,我用過多種插入方法,但對於妳來說,妳只需要其中壹種,循環插入即可。