这篇博客主要阐述单链表的合并与逆置,本人学习编程的时间也不是很久,如果在下面的文章中有讲解不周或有误的地方,欢迎各位大佬指正。
首先我们来熟悉一下单链表的结构:
1.单链表的结构
单链表是由一系列结点(由数据域和链域两部分构成)进行链式储存的一种线性表。它的一个组成单元叫做“结点”。它的特点是,在一个单链表中,有且仅有一个结点只有“后继”,并且有且只有一个结点只有“前驱”。示意图如下:
这里的图示一目了然,就不再进行赘述了。
2.链表的生成
要对链表进行操作,我们首先要生成链表,这里生成链表的代码如下:
Node* crateLinkedlist(){
int i;
int n;
int x;
Node* p;
Node* q;
Node* head;
printf("请输入要生成的链表长度:\n");
scanf("%d",&n);
printf("请输入数据:\n");
head = NULL;
for(i = 0;i < n;i++){
scanf("%d",&x);
p = (Node*)malloc(sizeof(Node));
p->data = x;
if(head == NULL){
head = p;
q = p;
}
else{
q->