PTA 6 2 頭插法建立單鏈表(C) 25分

2021-10-01 16:29:18 字數 1300 閱讀 2927

6-2 頭插法建立單鏈表(c) (25分)

本題要求實現兩個函式,輸入n個資料,採用頭插法建立單鏈表並列印。例如:如果輸入4 ,再輸入3 7 9 5,則應列印輸出5 9 7 3。

鍊錶結點結構定義:

struct node ;

函式介面定義:

/* 頭插法建立單鏈表:返回單鏈表的頭指標 /

struct node buildlinkedlist(int* arr, int n); /* 頭插法建立單鏈表 /

void printlinkedlist(struct node head); /* 列印鍊錶 */

其中arr和n是使用者傳入的引數,n的值不超過100000。head為單鏈表的頭指標。

裁判測試程式樣例:

#include

#include //malloc函式

struct node ;

/* 頭插法建立單鏈表:返回單鏈表的頭指標 /

struct node buildlinkedlist(int* arr, int n); /* 頭插法建立單鏈表 /

void printlinkedlist(struct node head); /* 列印鍊錶 */

int main(int argc, char const ar**)

struct node* head = null;    //宣告乙個指標變數head

//建立鍊錶,把返回的頭指標賦值給head指標變數

head = buildlinkedlist(a, n);

//列印鍊錶:整個鍊錶用head來代表。

printlinkedlist(head);

free(a); //釋放儲存空間

return 0;

/* 請在這裡填寫答案 */

輸入樣例:

輸入包含兩行。 第一行為資料個數n,不超過100000。 第二行為n個空格分隔的整數,其值不超過int值的範圍。

43 7 9 5

輸出樣例:

在一行輸出鍊錶每個結點中的資料,以空格分隔,但行尾無多餘空格。

5 9 7 3

struct node* buildlinkedlist(int* arr, int n) 

return head;

}void printlinkedlist(struct node* head)

else

printf(" %d",head->data);

head=head->link;

}}

頭插法建立單鏈表

include include define max 50 typedef struct list list int main 頭插法建立鍊錶 void headcreatlist list l,char x 輸出函式 void display list l printf n commentes 這...

頭插法和尾插法建立單鏈表

頭插法和尾插法建立單鏈表 include using namespace std typedef int elemtype typedef struct lnode linklist 頭插法建表 從尾部乙個乙個往前插入 void createlisthead linklist l,elemtype ...

頭插法與尾插法建立單鏈表

單鏈表的建立一般主流分為兩種建立方式 頭插法和尾插法。頭插法1 建立頭節點,維護head指標 引用 來指向頭節點 2 newnode表示待插入節點,維護newnode指向新節點 3 case1 當鍊表為空時,即首次插入新節點,將head.next指向新插入節點,即head.next newnode ...