首页 > 其他分享 >xx

xx

时间:2023-07-10 19:45:06浏览次数:27  
标签:NODE STRUCT DOUBLE next current xx newDate


双向链表


images/489-1.png

 

插入操作:

 

传入指向根节点的指针

current指针,next指针遍历操作

 

current指向新节点,newnode指向next

 

向后指针需要分情况,是否为跟节点,是否为尾部

 

 

typedef struct doublenode
{
struct doublenode *fwd;
struct doublenode *bwd;
int date;
}DOUBLE_NODE_STRUCT;

int insert_double_node(DOUBLE_NODE_STRUCT *rootp,int value)
{
DOUBLE_NODE_STRUCT *newDate;
DOUBLE_NODE_STRUCT *current;
DOUBLE_NODE_STRUCT *next;

for (current = rootp; (next = current->fwd) != NULL; current = next->fwd)
{
if (next->date == value)
{
return 0;
}
if(next->date > value)
{
break;
}
}

newDate = (DOUBLE_NODE_STRUCT *)malloc(sizeof(DOUBLE_NODE_STRUCT));
if (newDate == NULL)
{
return -1;
}
newDate->date = value;

current->fwd = newDate;
newDate->fwd = next;

if (current == rootp)
{
newDate->bwd = NULL;
}
else
{
newDate->bwd = current;
}
if (next == NULL)
{
rootp->bwd = newDate;
}
else
{
next->bwd = newDate;
}
return 1;
}

 

 

遍历操作

 

	int iResult = true;
DOUBLE_NODE_STRUCT rootNode =
{
NULL,
NULL,
0
};
iResult = insert_double_node(&rootNode, 2);
iResult = insert_double_node(&rootNode, 4);
iResult = insert_double_node(&rootNode, 1);
iResult = insert_double_node(&rootNode, 6);
//正向
for (DOUBLE_NODE_STRUCT * current = &rootNode; current->fwd != NULL; current = current->fwd)
{
printf("%d\n",current->fwd->date);
}
//反向
for (DOUBLE_NODE_STRUCT *current = &rootNode; current->bwd != NULL; current = current->bwd)
{
printf("%d\n",current->bwd->date);
}

 

 

https://www.typingclub.com/sportal/program-3/281.play

标签:NODE,STRUCT,DOUBLE,next,current,xx,newDate
From: https://www.cnblogs.com/xzsxzxs/p/17542124.html

相关文章

  • S32Kxxx bootloader之LIN bootloader
    了解更多关于bootloader的C语言实现,请加我Q扣:1273623966(验证信息请填bootloader),欢迎咨询或定制bootloader(在线升级程序)。上一次发布博文到如今既然已一年有余,开始着手写今天这篇博文,有着一种久违的感觉。今天要给大家介绍的是S32K116的LINbootloader,这......
  • XXI Opencup, Grand Prix of Korea
    目录XXIOpencup,GrandPrixofKoreaADHKJFIEGXXIOpencup,GrandPrixofKoreaOpenCup强度这么大吗(A根据Hall定理,把\(a\)从大到小排序对于\(\forallx\in[1,n]\)如果有\(\sum_{i=1}^xa_i\leq\sum_{i=1}^m\min\{x,b_i\}\)则等价于可以分发完全。......
  • 痞子衡嵌入式:从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制。我们知道配合MCU一起工作的存储器包含ROM(Flash)和RAM两类,前者主要放RO代码和数据,后者放RW数据。MCU可以没有片内ROM,但是一般都会包含......
  • Element-plus按需导入后,组件的正确使用和使用组件时TS报错找不到名称“xxxx”
    1.按需导入后使用组件Element-plus组件库的示例代码中,都import导入了组件,如:<template><el-buttontype="primary"@click="openFullScreen2">Asaservice</el-button></template><scriptlang="ts"setup>import{ElLoad......
  • Springboot No bean named 'XXXXX' available 问题解决
    一、问题描述近日在工作中遇见了一个bug,后端程序频频报错Nobeannamed'XXXXX'available。对比同类程序文件,没有发现有任何特殊之处。在网上搜索方法基本上就是扫描包配置、注解问题、路径问题等,皆不能解决我的问题。排查问题是发现出现问题的类命名不符合驼峰规范,按照这个......
  • ORA-20000: Unable to set values for index xxx: does not exist or insufficient pr
    使用expdp/impdp导出导入数据时,遇到ORA-2000错误,如下所示:Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANTProcessing object type SCHEMA_EXPORT/TABLE/COMMENTProcessing object type SCHEMA_EXPORT/TABLE/INDEX/INDEXProcessing object......
  • HEAD detached from XXXX解决方法 HEAD detached at origin/master 问题的解决
    如果是因为在这个分支下操作,出现了了问题的,请尝试以下办法remotes/origin/HEAD->origin/master1.gitpushoriginmaster后出现Everythingup-to-date当时以为问题自己点错了,又重新提交了一次,在gitcommit之后出现HEADdetachedfrom4d1722c错误立即用gitstatus查看,也......
  • Variable 'xxxx' is accessed from within inner class, needs to be final or effect
    问题的原因问题代码:publicstaticvoidmain(String[]args){Integersum=0;Integercount=0;List<Integer>list=newArrayList<>(Arrays.asList(1,2,3,4,5));list.stream().forEach(e->{sum+=e;//这步会编译错误--Varia......
  • requests.exceptions.ProxyError: HTTPSConnectionPool(host='xxx', port=443)
    #绕过系统设置的代理#方法一:session=requests.Session()session.trust_env=Falseresponse=session.get('http://ff2.pw')#方法二:(多人亲测可以直接结局这个问题)proxies={"http":None,"https":None}requests.get("http://ff2.pw",proxi......
  • flask run 和python xxx 两种方式的区别
    在Flask项目中,flaskrun和pythonxxx(其中xxx是Python文件名)是两种不同的方式来运行Flask应用程序。flaskrun:这是Flask提供的命令行工具,用于在开发环境中运行Flask应用程序。当你在项目目录下运行flaskrun命令时,Flask会自动检测应用程序的入口文件(通常是app......