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 ...