10.1作业

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/** function:* 创建一个双向链表,将26个英文字母通过头插的方式插入,通过为尾删的方式读取并删除* @param [ in] * @param [out] * @return      */
typedef struct double_link_list{char data;struct double_link_list * pre;struct double_link_list * next;
}node,*pnode;
pnode listInit(){pnode H=(pnode)malloc(sizeof(node));if(NULL==H){printf("__%d__malloc failed",__LINE__);}H->data=0;H->pre=NULL;H->next=NULL;return H;
}
int headInsert(pnode H,char data){if(H==NULL){puts("null pont pass");return -1;}pnode newNode=(pnode)malloc(sizeof(node));newNode->data=data;newNode->next=H->next;if(H->next!=NULL)H->next->pre=newNode;H->next=newNode;newNode->pre=H;printf("%c insert success\n",H->next->data);return 0;
}
int tailDelete(pnode H){if(H==NULL){puts("null pont pass");return -1;}pnode p=H;//p指向最后一个节点while(p->next!=NULL){p=p->next;}while(p->pre!=NULL){printf("%c->",p->data);pnode del=p;p=p->pre;free(del);}return 0;
}
int print(pnode H){if(H==NULL){puts("null pont pass");return -1;}pnode p=H;//p指向最后一个节点while(p->next!=NULL){printf("%c->",p->next->data);p=p->next;}printf("last=%c\n",p->data);return 0;
}
int main(int argc, const char *argv[])
{pnode H=listInit();for (char i='a'; i<='z'; i++){headInsert(H,i);}tailDelete(H);//print(H);return 0;
}

运行结果:

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

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

相关文章

Vue与React//双绑问题

Vue和React是两个目前最流行的前端框架&#xff0c;它们有一些区别主要区别如下&#xff1a; 响应式原理&#xff1a;Vue使用基于模板的方式进行双向绑定&#xff0c;其中使用了Vue自己实现的响应式系统。Vue能够通过追踪数据的依赖关系&#xff0c;自动更新DOM元素。而React采…

Redis代替session 实现登录流程

Redis代替session 实现登录流程 如果使用String&#xff0c;他的value&#xff0c;用多占用一点空间&#xff0c;如果使用哈希&#xff0c;则他的value中只会存储他数据本身&#xff0c;如果不是特别在意内存&#xff0c;其实使用String就可以 设计key的具体细节 在设计这个k…

el-menu 导航栏学习-for循环封装(2)

基于el-menu 导航栏学习&#xff08;1&#xff09; 对于导航栏主菜单NavMenuDemo.vue进行for循环改进&#xff0c;代码如下所示&#xff1a; <template> <el-container> <el-aside width"200px"> <el-menu :default-active"this.$route.…

kafka伪集群部署,使用zookeeper模式

1:拉去管理kafka界面UI镜像 docker pull provectuslabs/kafka-ui2:拉去管理kafka镜像 docker pull bitnami/kafka3:docker-compose.yml version: 3.8 services:zookeeper-1:container_name: zookeeper1image: bitnami/zookeeperports:- "2181:2181"environment:- …

Learning Invariant Representation for Unsupervised Image Restoration

Learning Invariant Representation for Unsupervised Image Restoration (Paper reading) Wenchao Du, Sichuan University, CVPR20, Cited:63, Code, Paper 1. 前言 近年来&#xff0c;跨域传输被应用于无监督图像恢复任务中。但是&#xff0c;直接应用已有的框架&#xf…

十.EtherCAT开发之microchip MCU D51+ LAN9253 的开发COE应用(SPI directly 模式)

十.EtherCAT开发之microchip MCU D51+ LAN9253 的开发COE应用(SPI directly 模式) 文章目录 十.EtherCAT开发之microchip MCU D51+ LAN9253 的开发COE应用(SPI directly 模式)10.0 LAN9253 REG 访问(SPI directly 模式)10.0.1 手册定义10.0.2 CSR REG访问代码10.0.3 执行结果10…

私有继承和虚函数私有化能用么?

源起 以前就知道private私有化声明关键字&#xff0c;和virtual虚函数关键字两者并不冲突&#xff0c;可以同时使用。 但是&#xff0c;它所表示的场景没有那么明晰&#xff0c;也觉得难以理解&#xff0c;直到近段时间遇到一个具体场景。 场景 借助ACE遇到的问题进行展示 …

四、2023.9.30.C++面向对象end.4

文章目录 49、 简述一下什么是常函数&#xff0c;有什么作用&#xff1f;50、 说说什么是虚继承&#xff0c;解决什么问题&#xff0c;如何实现&#xff1f;51、简述一下虚函数和纯虚函数&#xff0c;以及实现原理&#xff1f;52、说说纯虚函数能实例化吗&#xff0c;为什么&am…

通过code2Session接口获取openId(上)

//导入request请求工具类 import {getBaseUrl,getWxLogin,getUserProfile,requestUtil} from ../../utils/requestUtil; import regeneratorRuntime from ../../lib/runtime/runtime; Page({/*** 页面的初始数据*/data: {address:{},baseUrl:,cart:[],totalPrice:0,totalNum:0}…

【数据结构与算法】通过双向链表和HashMap实现LRU缓存 详解

这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同&#xff0c;区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点&#xff0c;并相互指向&#xff0c;在第一次添加节点时&#xff0c;不需要再考虑空指针指向问题了。 /*** 通过链表与HashMa…

030-从零搭建微服务-消息队列(二)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff08;后端&#xff09;&#xff1a;mingyue: &#x1f389; 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…

1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning

2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务&#xff08;相似子轨迹搜索、轨迹预测和轨迹聚类&#xff09;最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类&#xff1a; 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…

Flutter笔记:滚动之-无限滚动与动态加载的实现(GetX简单状态管理版)

Flutter笔记 无限滚动与动态加载的实现&#xff08;GeX简单状态管理版&#xff09; 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq…

idea常用快捷键 idea搜索快捷键

常用快捷键 IntelliJ IDEA 是一款流行的 Java 集成开发环境&#xff08;IDE&#xff09;&#xff0c;有许多常用的快捷键可以帮助开发者提高效率。以下是一些常用的 IntelliJ IDEA 快捷键&#xff1a; CtrlSpace&#xff1a;基本代码补全&#xff0c;用于输入任何东西&#x…

stm32 - 初识2

stm32 - 初识2 工程架构点灯程序寄存器方式点灯库函数的方式点灯 工程架构 启动文件 中断向量表&#xff0c;中断服务函数&#xff0c;其他中断等 中断服务函数中的&#xff0c;复位中断是整个程序的入口&#xff0c;调用systeminit&#xff0c;和main函数 点灯程序 寄存器方式…

HTML的相关知识

1.什么是HTML&#xff1f;基本语法 HTML: Hyper Text Markup Language &#xff08;超文本标记语言&#xff09; 超文本&#xff1f;超级文本&#xff0c;例如流媒体&#xff0c;声音、视频、图片等。 标记语言&#xff1f;这种语言是由大量的标签组成。HTML标签参考手…

尚硅谷谷粒商城部分报错问题处理

1、启动报错&#xff1a; 内容&#xff1a; org.springframework.beans.factory.BeanCreationException: Error creating bean with name attrAttrgroupRelationController: Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed t…

《数据结构、算法与应用C++语言描述》-栈的应用-离线等价类问题

离线等价类问题 问题描述 等价类&#xff1a;假定一个具有n个元素的集合U1&#xff0c;2&#xff0c;…&#xff0c;n和一个具有r个关系的集合 R &#xff08; i 1 &#xff0c; j 1 &#xff09;&#xff0c;&#xff08; i 2 &#xff0c; j 2 &#xff09;&#xff0c; ……

推出全新AIGameFi,SCF金融公链FinSOUL促进元宇宙发展

在被誉为元宇宙元年的2021年&#xff0c;SCF&#xff08;Standard Cross Finance&#xff09;金融公链正着眼于打造一项开创性的项目&#xff0c;推出创新的金融公链生态&#xff0c;并期待成为元宇宙2.0的先锋。虽然2021年见证了元宇宙项目的强势崛起&#xff0c;但在SCF金融公…

Vue定义全局组件的方式

Vue.js是一种流行的JavaScript框架&#xff0c;用于构建交互式的Web应用程序。Vue提供了一种简单而灵活的方式来定义和使用组件。在本文中&#xff0c;我们将探讨Vue中定义全局组件的三种方式&#xff0c;让你能够更好地理解和使用Vue组件。 引言 组件是Vue应用程序的基本构建…