首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
substring
express
schema
require
format
web
python
tags
actionscrip
byte
c语言
keyword
import
solr
text
email
frameworks
function
join
include
config
uri
hashset
cpython
eval
node.js
triggers
spring
testing
java
python3
数组
emoji
bash
timestamp
blob
php8
sum
plugins
scala
perl
integer
buffer
grid
merge
javascript
httprequest
httpclient
command
object
php
ascii
timezone
loops
vba
utf-8
select
chat
foreach
window
post
nodejs
search
instance
subset
controller
process
cPlusPlus
main
filter
golang
bytecode
case
default
string
expression
md5
datetime
install
当前位置:
开发笔记
>
编程语言
> 正文
建立链表和打印链表用的是递归法,可是只打印的出一个0,求助!!
作者:卫凤莉_463 | 来源:互联网 | 2023-10-13 13:47
#include<iostream.h>structLnode{doubledata;Lnode*next;};voidShowList(
#include
struct Lnode
{
double data;
Lnode * next;
};
void ShowList(Lnode * list)
{
if(list)
{
cout<
data<
if(list->next)
ShowList(list->next);
}
}
void AddToEnd(Lnode * newnode , Lnode * head)
{
if(head==NULL)
head=newnode;
else
AddToEnd(newnode,head->next);
}
Lnode * GetNode()
{
Lnode * item;
item=new Lnode;
if(item)
{
item->next=NULL;
item->data=0.0;
}
else
cout<<"nothing allocated\n";
return item;
}
void main()
{
Lnode * head;
Lnode * temp;
temp=GetNode();
while(temp)
{
cout<<"data?";
cin>>temp->data;
if(temp->data>0)
AddToEnd(temp,head);
else
break;
temp=GetNode();
}
ShowList(head);
}
13 个解决方案
#1
void AddToEnd(Lnode * newnode , Lnode * head)
{
if(head==NULL)
head=newnode;
else
AddToEnd(newnode,head->next);
}
这个错了!看你代码蛮工整,我就不多说了。。。
#2
struct Lnode
{
double data;
Lnode * next;
};
这不对吧!
struct Lnode
{
double data;
struct Lnode * next;
};
#3
#include
#include"stdlib.h"
struct Lnode
{
double data;
Lnode * next;
};
void ShowList(Lnode * list)
{
Lnode*p=list;
if(p)
{
cout<
data<
if(list->next)
ShowList(p->next);
}
}
void AddToEnd(Lnode * newnode , Lnode * head)
{
if(head==NULL)
head=newnode;
else
AddToEnd(newnode,head->next);
}
void GetNode(Lnode*head)
{
int a;
Lnode * item,*p=head;
cout<<"data?";
cin>>a;
while(a>0){
item=new Lnode;
item->data=a;
p->next=item;
item->next=NULL;
p=item;
}
if(a>0.0) cout<<"nothing allocated\n";
}
void main()
{
Lnode * head;
Lnode * temp;
head=new Lnode;
GetNode(head);
/*while(temp)
{
cout<<"data?";
cin>>temp->data;
if(temp->data>0)
AddToEnd(temp,head);
else
break;
temp=GetNode();
}*/
ShowList(head->next);
}
//注意在程序执行完之前要释放所有开辟的内存
#4
zhdleo(叮东) 叮东你落后了:)在C++环境下这样是对的.TC中就是错的!!!
#5
对不起!!!
上面有一些错!!!
#include
#include"stdlib.h"
struct Lnode
{
double data;
Lnode * next;
};
void ShowList(Lnode * list)
{
Lnode*p=list;
if(p)
{
cout<
data<
if(list->next)
ShowList(p->next);
}
}
/*void AddToEnd(Lnode * newnode , Lnode * head)
{
if(head==NULL)
head=newnode;
else
AddToEnd(newnode,head->next);
}*/
void GetNode(Lnode*head)
{
int a;
Lnode * item,*p=head;
cout<<"data?";
cin>>a;
while(a>0){
item=new Lnode;
item->data=a;
p->next=item;
item->next=NULL;
p=item;
cout<<"data?";
cin>>a;
}
if(a>0.0) cout<<"nothing allocated\n";
}
void main()
{
Lnode * head,*q,*qq;
Lnode * temp;
head=new Lnode;
GetNode(head);
/*while(temp)
{
cout<<"data?";
cin>>temp->data;
if(temp->data>0)
AddToEnd(temp,head);
else
break;
temp=GetNode();
}*/
ShowList(head->next);
//释放内存
q=head;
while(q){
qq=q->next;
delete q;
q=qq;
}
}
#6
不好意思,是我看错了,呵呵
#7
不过你的Lnode *head不赋初值,如果head指向随机地址不是NULL...
#8
对hssfox()的几点建议:
1.不要滥用递归,特别是当你还没有深刻地理解它的思想时。递归虽然能增强程序的可读性,但它的执行效率低。
2.以指针作为参数时,其实质也是传值方式。调用该函数以后指针值本身不会改变,函数只能对该指针所指地址内的数据进行修改。
3.如果你学过C++,那么你应该强迫自己使用它。C++并不是在C语言中加入cout和cin那么简单。
4.你代码书写的格式是值得欣赏的。
愿意共同进步!大家都是这么一步一步走过来的。
#9
to Keanu_Rocky(蠢笨如牛)
说得好呀,你一说我才想起曾经看过的书,我真是没记性,我才是蠢笨如牛呀!
#10
如果这样改,似乎就可以了吧?
main(){
......
head=new Lnode;
head->next=NULL;
......
AddToEnd(newnode,head)
......
}
void AddToEnd(Lnode * newnode , Lnode * head)
{
if(!head->next)
head->next=newnode;
else
AddToEnd(newnode,head->next);
}
#11
to liao2001(知之为知之,不知为不知。。。)
其实每次写程序的时候我都会发觉自己不够聪明,呵呵,可能大家都一样吧。
按照你上面说的那么改,虽然可以出结果,但是我觉得仍有不妥,程序应该是给程序员读的,而不是给机器“读”的。写程序的时候始终要把可读性放在首位,上面的程序可读性不强。建议如下:
void AddToEnd(Lnode *&head, const Lnode *&newnode)
{
...
}
#12
void destroy(Lnode *head){
Lnode *q=head,*qq
while(q){
qq=q->next;
delete q;
q=qq;
}
}
void main()
{
Lnode * head;
Lnode * temp;
head=new Lnode;
GetNode(head);
/*while(temp)
{
cout<<"data?";
cin>>temp->data;
if(temp->data>0)
AddToEnd(temp,head);
else
break;
temp=GetNode();
}*/
ShowList(head->next);
//释放内存
destroy(head);
}
#13
丢了分号,要加分号
include
ios
struct
list
get
main
ci
int
c语言
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
include
差分约束系统求解House Man跳跃问题的思路与方法
本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ...
[详细]
蜡笔小新 2023-12-14 11:49:51
uri
向QTextEdit拖放文件的方法及实现步骤
本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ...
[详细]
蜡笔小新 2023-12-14 16:06:38
include
c语言\n不换行,c语言printf不换行
本文目录一览:1、C语言不换行输入2、c语言的 ...
[详细]
蜡笔小新 2023-12-14 11:05:35
include
P1651 塔 (动态规划) 的最大高度计算方法
本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ...
[详细]
蜡笔小新 2023-12-13 19:52:19
include
使用多进程实现TCP服务端的优势和注意事项
本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ...
[详细]
蜡笔小新 2023-12-13 18:25:30
include
二叉树层序创建问题的解决方法
本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ...
[详细]
蜡笔小新 2023-12-13 18:20:50
include
clone的fork与pthread_create创建线程有何不同
本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ...
[详细]
蜡笔小新 2023-12-12 20:00:06
include
开发笔记:实验7的文件读写操作
本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ...
[详细]
蜡笔小新 2023-12-12 17:48:18
include
最长上升子序列问题的变种解法
本文介绍了最长上升子序列问题的一个变种解法,通过记录拐点的位置,将问题拆分为左右两个LIS问题。详细讲解了算法的实现过程,并给出了相应的代码。 ...
[详细]
蜡笔小新 2023-12-12 17:41:45
include
李逍遥寻找仙药的迷阵之旅
本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ...
[详细]
蜡笔小新 2023-12-12 13:59:33
java
JDK源码学习之HashTable(附带面试题)的学习笔记
本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ...
[详细]
蜡笔小新 2023-12-12 13:05:17
include
C语言判断正整数能否被整除的程序
本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ...
[详细]
蜡笔小新 2023-12-11 19:40:15
include
Codeforces Round #321 (Div. 2) Kefa and Dishes 状压+spfa
本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ...
[详细]
蜡笔小新 2023-12-11 10:37:34
config
GTK+浅谈之十五GObject面向对象的继承
本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ...
[详细]
蜡笔小新 2023-12-10 12:33:04
require
伊振华作品 | 沈阳市智慧城市运行管理中心的设计与建设
本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ...
[详细]
蜡笔小新 2023-12-14 16:35:39
卫凤莉_463
这个家伙很懒,什么也没留下!
Tags | 热门标签
substring
express
schema
require
format
web
python
tags
actionscrip
byte
c语言
keyword
import
solr
text
email
frameworks
function
join
include
config
uri
hashset
cpython
eval
node.js
triggers
spring
testing
java
RankList | 热门文章
1
PHP连接MySQL错误 Access denied for user 'root'@'localhost' (using password: YES)
2
半天四億熱錢,Metis 生態最全攻略
3
开发笔记:Swift并发编程的10大陷阱
4
MySql三大范式
5
安卓开发入门!BAT大厂面试基础题集合,顺利通过阿里Android岗面试
6
修复VS2017 LNK1104 无法打开库文件错误之宏错误
7
实战项目memcached+tomcat+session+nginx在工作中的应用和配置
8
GDB 调试工具使用方法
9
《周五声调曲 征调曲 三》翻译 原文赏析诗人南北朝庾信
10
big sur 11.0.1 是不是还是没办法正常使用 airpods 的无缝切换
11
POJ3420 Quad Tiling【矩阵快速幂】
12
EXT封装的.NET控件,加载慢
13
java1.8 scriptengine_允许Java的ScriptEngineManager访问某些Java方法
14
java javaw minecraft_教程/更新Java _ 《我的世界》中文Minecraft Wiki:最详细的官方我的世界百科...
15
【Java】基于jsoup爬虫实现(从智联获取工作信息)
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有