建立一個10結點的單向鏈表,每個結點包括學號,姓名,性別,年齡,對其進行排序,采用插入排序法,按學號從小到大排序。
(我鏈表沒聽懂,基礎概念講講也好~)
以下是創建鏈表的代碼,c語言結構體實現:(不帶頭結點,一級指針實現,當然可以多級指針實現,也可以帶頭結點,也可以是循環鏈表,也可以是
雙向循環鏈表)
#include
#include
//鏈表結構體定義
typedef struct _NODE
{
int data;
struct _NODE *next;
}Node, *List;
//創建鏈表
List CreateList()
{
Node head = NULL, *p1 = NULL, *p2 = NULL;
p1 = p2 = (Node)malloc(sizeof(Node));
while(1 == scanf("%d", &p1->data))
{
if(NULL == head)
{
p1->next = NULL;
head = p1;
}
else
{
p2->next = p1;
p2 = p1;
}
p1 = (Node*)malloc(sizeof(Node));
}
free(p1);
p1 = NULL;
p2->next = NULL;
/*注意這裡 若果是 p2->next = p1; 那麼就成為了一個單向循環鏈表*/
return head;
}