首先我们要知道链表有哪些建立方式:
假设我们有一个整型数组,怎么建立一个由数组的每个元素组成的链表呢?
struct node{
int a;
struct node* next;
};
typedef struct node Node;
int main(){
int arr[] = { 1,2,3,4,5};
Node* ps = new_list1(arr, sizeof(arr)/sizeof(arr[0]));
return 0;
}
1、头插入建立法
先建立一个头节点,并把头节点的指针域置为空指针(NULL)。
Node* head = (Node*)malloc(sizeof(Node));开辟动态空间
if (head == NULL)//判断能否建立动态空间
{
printf("%s\n", strerror(errno));
}
head->next=NULL;//置空头节点指针域
头插入就是将每个新加的节点放到头节点的后方。(头节点的指针域指向新加的节点。)
<