前插法逆置单链表

后插法创建单链表

#include<stdio.h>
#include<stdlib.h>
typedef int Elemtype;

typedef struct mode{
	Elemtype data;
	struct mode *next;
}LNode, *LinkList;

//后插法创建单链表
void List_TailInsert(LinkList L, int n)
{
	printf("带头节点尾插法--输入节点\n");
	LNode *r, *s;
	r = L;
	Elemtype x;
	for(int i = 0; i < n; i++){
		scanf("%d", &x);
		s = (LNode*)malloc(sizeof(LNode));
		s->data = x;
		s->next = NULL;
		r->next = s;
		r = s;
	}
}
//前插法单链表反转
LinkList Head_Reverse(LinkList L, int n)
{
	if(L == NULL || L->next == NULL) return L;
	LinkList New_L;		//创建一个新链表,存储逆转后的单链表
	New_L = (LNode*)malloc(sizeof(LNode));//对新链表设置头结点
	New_L->next = NULL;	//初始化
	LNode *p = L->next; //p指针的作用是遍历L链表
	LNode *s; //s为每次插入新链表的节点
	for(int i = 0; i < n; i++){
		//TODO
		s = (LNode*)malloc(sizeof(LNode)); //创建新节点
		s->data = p->data;	//新节点的值为此时p节点对应的值
		s->next = New_L->next; //该节点next为新链表头结点的next
		New_L->next = s;	//新链表头结点的next 改为该节点
		p = p->next;	//L链表中的p节点后移一位
	}
	return New_L;
}
//输出链表值
void OutPut(LinkList L)
{
	LNode *p = L;
	while(p != NULL)
	{
		printf("%d ", p->data);
		p = p->next;
	}
	printf("\n");
}

int main()
{
	int n;
	printf("请输入有几个节点");
	scanf("%d", &n);
	
	LinkList L = (LNode*)malloc(sizeof(LNode));
	L->next = NULL;
	List_TailInsert(L, n);
	
	printf("尾插法-输出建立后的单链表");
	OutPut(L->next);
	
	LinkList New_L =  Head_Reverse(L,n);
	
	printf("逆置后的单链表");
	OutPut(New_L->next);
	
}

相关推荐

  1. 2024-04-09 11:42:02       63 阅读
  2. 【数据结构】的尾

    2024-04-09 11:42:02       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 11:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 11:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 11:42:02       82 阅读
  4. Python语言-面向对象

    2024-04-09 11:42:02       91 阅读

热门阅读

  1. Mysql

    Mysql

    2024-04-09 11:42:02      35 阅读
  2. Integer.parseInt

    2024-04-09 11:42:02       35 阅读
  3. 「Spring」Spring Bean的生命周期

    2024-04-09 11:42:02       40 阅读
  4. 前端qiankun如何实现微应用路由跳转

    2024-04-09 11:42:02       36 阅读
  5. 2024 蓝桥打卡Day35

    2024-04-09 11:42:02       34 阅读
  6. Vue3快速上手(简易版)

    2024-04-09 11:42:02       32 阅读
  7. P1226 快速幂

    2024-04-09 11:42:02       30 阅读
  8. 【机器学习理论】2023 Spring Homework 3 Solution

    2024-04-09 11:42:02       38 阅读
  9. 网路维护基础知识

    2024-04-09 11:42:02       39 阅读