- 逆置采用头插法逆置
-2022.3.15 更新编码风格,新增单链表合并、单链表链接功能
#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int data;
struct node* next;
} node;
node* linkedlist_init();
void linkedlist_destory(node* head);
int linkedlist_insert(node* head, int pos, int x);
int linkedlist_delete(node* head, int pos, int* x);
void linkedlist_print(node* head);
int linkedlist_size(node* head);
int linkedlist_search(node* head, int x);
void linkedlist_reverse(node* head);
void linkedlist_link(node* head, node* head2);
void linkedlist_merge(node* h1, node* h2);
int main(){
node* head = linkedlist_init();//初始化
int max, i, value;
printf("输入元素个数:");
scanf("%d", &max);
printf("数据:");
for (i = 0; i < max; i++){
scanf("%d", &value);
linkedlist_insert(head, 1, value);
}
linkedlist_reverse(head);
linkedlist_print(head);
int choice;
while (1){
printf("1)插入元素\n");
printf("2)删除元素\n");
printf("3)求表长\n");
printf("4)查找数据\n");
printf("5)单链表逆置\n");
printf("6)打印当前单链表\n");
printf("7)将当前单链表与另一单链表合并\n");
printf("8)将另一单链表与当前单链表链接\n");
print

本文介绍了使用C语言实现单链表的基本操作,包括初始化、插入元素、删除元素、计算长度、搜索元素、逆置链表、合并两个有序链表以及链接两个链表。提供了详细的代码实现和交互式菜单供用户进行操作,适合学习数据结构和链表操作。
最低0.47元/天 解锁文章
1472

被折叠的 条评论
为什么被折叠?



