Day4.

单链表

#include <head.h>typedef struct List{int value;struct List *pointe;
}*list;
list create_space()
{list s=(struct List *)malloc(sizeof(struct List));   //向堆区申请空间s->pointe = NULL;//初始化s->value = 0;return s;
}
list inserhead_list(list head,int value)
{list s = create_space();if(s == NULL){return head;}s->value = value;if(head == NULL){head = s;return head;}else{s->pointe = head;head = s;}return head;
}
//头删
list delete_list(list head)
{list p = head;if(head == NULL){free(head);return head;}head = p->pointe;free(p);return head;
}
void output(list head)
{if(head == NULL){return; }while(head){printf("%d ",head->value);head = head->pointe;}
}int main(int argc,const char *argv[])
{list head = NULL;int value;for (int i = 0; i < 5; i++){printf("请输入插入的值:");scanf("%d",&value);head = inserhead_list(head,value);}output(head);head=delete_list(head);puts("");output(head);return 0;
}

双链表

#include <head.h>typedef struct List{int value;struct List *next;struct List *priv;
}*list;
list create_space()
{list s=(struct List *)malloc(sizeof(struct List));   //向堆区申请空间s->next = NULL;//初始化s->priv = NULL;s->value = 0;return s;
}
头插
list inserhead_list(list head,int value)
{list s = create_space();if(s == NULL){return head;}s->value = value;if(head == NULL){head = s;return head;}else{s->next = head;head->priv = s;head = s;}return head;
}
//头删
list delete_list(list head)
{list p = head;if(head == NULL){free(head);return head;}head = p->next;head->priv = NULL;free(p);return head;
}
int output(list head)
{//1,判断链表为空if(NULL ==head)return -1;//2.正向遍历puts("正向遍历");list p=head;while(p->next!=NULL){printf("%d\t",p->value);p=p->next;}printf("%d\t",p->value);puts("\n逆向遍历");while(p!=NULL){printf("%d\t",p->value);p=p->priv;    }puts("");return 0;
}int main(int argc,const char *argv[])
{list head = NULL;int value;for (int i = 0; i < 5; i++){printf("请输入插入的值:");scanf("%d",&value);head = inserhead_list(head,value);}output(head);head=delete_list(head);puts("------------");output(head);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/466515.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ES】--Elasticsearch的分词器详解

目录 一、前言二、分词器原理1、常用分词器2、ik分词器模式3、指定索引的某个字段进行分词测试3.1、采用ts_match_analyzer进行分词3.2、采用standard_analyzer进行分词三、如何调整分词器1、已存在的索引调整分词器2、特别的词语不能被拆开一、前言 最近项目需求,针对客户提…

【Effective Objective - C 2.0】——读书笔记(四)

文章目录 二十三、通过委托与数据源协议进行对象间通信二十四、将类的实现代码分散到便于管理的数个分类之中二十五、总是为第三方的分类名称加前缀二十六、切勿在分类里面声明属性二十七、使用“class-continuation分类”隐藏实现细节二十八、通过协议提供匿名对象 二十三、通…

Hive调优——explain执行计划

一、explain查询计划概述 explain将Hive SQL 语句的实现步骤、依赖关系进行解析&#xff0c;帮助用户理解一条HQL 语句在底层是如何实现数据的查询及处理&#xff0c;通过分析执行计划来达到Hive 调优&#xff0c;数据倾斜排查等目的。 https://cwiki.apache.org/confluence/d…

docker安装、运行

1、安装 之前有docker的话&#xff0c;需要先卸载旧版本&#xff1a; sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 安装之前需要安装yum工具&#xff1a; sud…

1.3 Verilog 环境搭建详解教程

学习 Verilog 做仿真时&#xff0c;可选择不同仿真环境。FPGA 开发环境有 Xilinx 公司的 ISE&#xff08;目前已停止更新&#xff09;&#xff0c;VIVADO&#xff1b;因特尔公司的 Quartus II&#xff1b;ASIC 开发环境有 Synopsys 公司的 VCS &#xff1b;很多人也在用 Icarus…

LibreOffice Calc 取消首字母自动大写 (Capitalize first letter of every sentence)

LibreOffice Calc 取消首字母自动大写 [Capitalize first letter of every sentence] 1. Tools -> AutoCorrect Options2. AutoCorrect -> Options -> Capitalize first letter of every sentenceReferences 1. Tools -> AutoCorrect Options 2. AutoCorrect ->…

【Java程序设计】【C00268】基于Springboot的CSGO赛事管理系统(有论文)

基于Springboot的CSGO赛事管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的赛事管理系统 本系统分为系统功能模块、管理员功能模块、参赛战队功能模块以及合作方功能模块。 系统功能模块&#xff1a;在系…

网络协议与攻击模拟_16HTTP协议

1、HTTP协议结构 2、在Windows server去搭建web扫描器 3、分析HTTP协议流量 一、HTTP协议 1、概念 HTTP&#xff08;超文本传输协议&#xff09;用于在万维网服务器上传输超文本&#xff08;HTML&#xff09;到本地浏览器的传输协议 基于TCP/IP(HTML文件、图片、查询结构等&…

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品&#xff0c;与本地推理的 OpenAI API 规范兼容。 它无需 GPU&#xff0c;还有多种用途集成&#xff0c;允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…

第 384 场 LeetCode 周赛题解

A 修改矩阵 模拟 class Solution { public:vector<vector<int>> modifiedMatrix(vector<vector<int>> &matrix) {int m matrix.size(), n matrix[0].size();vector<int> mx(n, INT32_MIN);for (int i 0; i < m; i)for (int j 0; j &l…

Java核心设计模式:代理设计模式

一、生活中常见的代理案例 房地产中介&#xff1a;客户手里没有房源信息&#xff0c;找一个中介帮忙商品代购&#xff1a;代理者一般有好的资源渠道&#xff0c;降低购物成本&#xff08;如海外代购&#xff0c;自己不用为了买东西出国&#xff09; 二、为什么要使用代理 对…