链表头插, 链表逆置

news/2025/2/22 2:41:19

title: reverse the linkList
date: 2020-09-23 17:49:03
tags: [链表头插, 链表逆置, C语言, 算法, AL, DS]
categories: DSandAL


链表的头插和逆置操作,很有技巧性,很值得思考
#include <stdio.h>
#include <stdlib.h>

typedef struct MyStruct
{
	int data;
	struct MyStruct* next;
}Node, *pList;

void Reverse(pList *);
void Print(pList);
void ReverseOrder(pList*);

int main(void)
{
	
	pList pHead = NULL;
	Reverse(&pHead);
	printf("对空链表头插5个结点:\n");
	Print(pHead);
	printf("头插完之后,将链表元素转置:\n");
	ReverseOrder(&pHead);
	Print(pHead);
	return 0;
}

void Reverse(pList * ppHead)
{
	int i;
	pList pNewNode;
	for(i = 1; i < 6; i++)
	{
		pNewNode = (pList) malloc(sizeof(Node));
		pNewNode->data = i;
		pNewNode ->next = *ppHead;
		*ppHead = pNewNode;
	}
}

void Print(pList phead)
{
	pList temp = phead;
	while(temp != NULL)
	{
		printf("%d\n", temp->data);
		temp = temp -> next;
	}
}

void ReverseOrder(pList* pphead)
{
	pList p = *pphead, q = (*pphead) ->next;
	*pphead = NULL;
	while(q != NULL)
	{
		p -> next = *pphead;
		*pphead = p;
		p = q;
		q = q->next;
	}
	p->next = *pphead;
	*pphead = p;

}

http://www.niftyadmin.cn/n/1616055.html

相关文章

OS记录型信号量-读者写者问题

dtitle: OS记录型信号量-读者写者问题 date: 2021-04-09 19:06:16 tags: [信号量机制, OS, 读者写者问题, 记录型信号量] categories: OS 利用记录型信号量实现读者写者问题 写在最前 最近对 OS 这门课着了迷&#xff0c;hhh&#xff0c;拿起课本就是硬啃 用了一段时间领悟了…

Java枚举源码级理解

title: Java枚举源码级理解 date: 2020-11-08 16:47:39 tags: [Java枚举, 源码理解, Java源码理解, 枚举, JavaBase, Java基础] categories: Java Java中枚举体的一些东西很怪&#xff0c;看了源码之后恍然大悟&#xff0c;收获颇丰废话不多说&#xff0c;直接上代码 第一种形…

Java加载顺序

title: Java代码执行顺序 date: 2021-03-30 20:28:37 tags: [JavaBase, Java变量加载顺序] categories: Java Java源文件中代码的加载顺序执行顺序 对类的加载 加载类的方法和静态属性 为方法和静态属性分配空间按照静态代码块和静态属性定义语句 在源文件中的顺序执行静态代…

hadoop一键启动脚本

Hadoop一键启动脚本 #!/bin/bash jps>tmp.txt NNcat tmp.txt|grep -w NameNode DNcat tmp.txt|grep -w DataNode SNNcat tmp.txt|grep -w SecondaryNameNode RMcat tmp.txt|grep -w ResourceManager NMcat tmp.txt|grep -w NodeManager JHScat tmp.txt|grep -w JobHistoryS…

hadoop一键关闭脚本

hadoop一键关闭脚本 #!/bin/bash jps>tmp.txt NNcat tmp.txt|grep -w NameNode DNcat tmp.txt|grep -w DataNode SNNcat tmp.txt|grep -w SecondaryNameNode RMcat tmp.txt|grep -w ResourceManager NMcat tmp.txt|grep -w NodeManager JHScat tmp.txt|grep -w JobHistoryS…

算法思想之求值法

一、求值法 求值法是一种最简单的问题求解方法&#xff0c;也是最常见的算法设计方法。它是根据问题给定的条件&#xff0c;运用基本的顺序、选择和循环控制语句结构来解决问题。例如&#xff1a;求最大值、求平均值等问题就是其具体应用。 二、算法设计思路 1、确定边界约束…

C语言链表项目-学生信息管理系统

核心知识 单向链表基本操作对文件的基本操作 使用说明 请先建好一个.txt文件并记下路径名&#xff0c;文件可以为空&#xff0c;也可以预先存好数据建议创建一个空文件&#xff0c;通过程序来向文件中存数据。手动去文件中存数据需要严格按照格式。 如果想预先手动存一些数据…

Quora与Siri强强联手将威胁Google核心业务及Wiki问答宝座

随着Google的兴起&#xff0c;以及其他新兴技术产品的出现&#xff0c;新闻媒体的视线逐渐从社交问答网站Quora转移。如今&#xff0c;苹果整合了世界上最复杂的人工智能&#xff0c;若将Siri整合到Quora&#xff0c;会是怎样一番景象&#xff1f; Quora将成为一个浓缩了主观知…