一个C语言版c语言数据结构构问题。求解释,为什么?

c语言数据结构的问题,,,,为什么有的函数需要&L引用,而有的函数不需要 呢?????????_百度知道
c语言数据结构的问题,,,,为什么有的函数需要&L引用,而有的函数不需要 呢?????????
比如:clearlist(&L)和listempty(L),,求解释???????
我有更好的答案
什么是我的生活
有的是复制构造函数。
其他类似问题
数据结构的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求教一个数据结构问题。_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:259,321贴子:
求教一个数据结构问题。收藏
编写程序判断读入的一个以@为结束符的字符序列是否为回文。 思路是将字符序列分别输入一个栈和队列,然后分别执行出栈和出队来进行比较
代码可以编译,但就是运行不了
#define MAXSIZE 100 typedef char DataT
typedef struct{ DataType data[MAXSIZE]; }SeqStack,*PSeqS
typedef struct{ DataType data[MAXSIZE]; int front, }SeqQueue,*PSeqQ
PSeqStack Init_SeqStack(void) { PSeqStack S; S=(PSeqStack)malloc(sizeof(SeqStack)); if(S) S-&top=-1; return S; }
char Push_SeqStack(PSeqStack
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或只需一步,快速开始
只需一步,快速开始
后使用快捷导航没有帐号?
查看: 397|回复: 5
构造一个链表,编译通过,但是运行出错,求解释
签到天数: 45 天[LV.5]常住居民I我最爱的应用:
本帖最后由 乘风 于
20:37 编辑
看得书是《数据结构(c语言版)》,中国水利水电出版社 ,赵坚。
这本书真是恶心,所有的算法都只给出分C语言的描述,从来不给个完整源码验证一下。
而且给出的部分也是各种垃圾(也许是我自己太垃圾)。
书中定义结构体:
typedef struct LNode
& && & ElemT
& && & struct LNode *
给出的初始化链表的代码:
void initlist(LinkList *L)
& &&&*L=(LNode *)malloc(sizeof(LNode));
& &&&(*L)-&next=NULL;
下面是我自己的程序:
#include &stdafx.h&
#include &stdio.h&
#include &MALLOC.H&
typedef struct LNode{
LNode *
}LNode, *L
Linklist *a1;
void CreatLinklist(Linklist *L, int n)
{
LNode *p;
(*L)=(LNode *)malloc(sizeof(LNode));
(*L)-&next=NULL; //链表初始化
p=(*L);
int pos=0;
LNode *s;
printf(&输入一组数,大余10个,以0作为结束标志:\n&);
//scanf(&%d&, &num);
while (num!=0&&pos&n)
{
scanf(&%d&, &num);
pos++;
s=(LNode *)malloc(sizeof(LNode));
s-&data=
s-&next=p-&
p-&next=s;
void DisplayLinklist(Linklist *L)
{
LNode *p;
p=(*L)-&
int num=0;
while (p!=NULL)
{
printf(&%d &,p-&data);
p=p-&
}
}
int main(int argc, char* argv[])
{
//Linklist a1;
printf(&请输入链表元素的个数\n&);
scanf(&%d&, &n);
CreatLinklist(a1,n);
// DisplayLinklist(a1);
return 0;
}复制代码我调试过了,程序执行到CreatLinklist()函数中的(*L)=(LNode *)malloc(sizeof(LNode));这一句出错。但是这和书中给出的参考代码方式完全一样啊。为什么就不行呢。而且,我自己分析也觉得这种方式应该不会出错啊。求指点,我真是郁闷很久了。。大家只帮我看这一处就可以的,别的地方就不麻烦了。谢谢
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 25 天[LV.4]偶尔看看III
L是一个指向指针的指针,你没有给L赋值,即没有说L是指向哪个指针,然后你给L指向的地址(随机)赋值就会出现错误。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 25 天[LV.4]偶尔看看III
向一个未赋值的指针指向的地址赋值是非常危险地。希望楼主不要再犯这样的错误。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 17 天[LV.4]偶尔看看III
(*L)=(LNode *)malloc(sizeof(LNode));
用一级指针接一级指针,能接到吗?你将形参改成二级指针。
还有你malloc的时候强制转为struct LNode *或者是Linklist
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 45 天[LV.5]常住居民I
经过用typedef struct LNode 将struct LNode 定义成LNode形了,所以直接强制转换为LNode *也是可以的。另外刚刚受你启发,我已经想明白了,我的实参和形参都用的二级指针,而实际上我需要传递滴的是一级指针的地址,所以全局变量Linklist *a1,改为Linklist a1;然后实参改为CreatLinklist(&a1,n);然后就没有错误了。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 45 天[LV.5]常住居民I
蓝色旋律 发表于
(*L)=(LNode *)malloc(sizeof(LNode));
用一级指针接一级指针,能接到吗?你将形参改成二级指针。
还有你 ...
经过用typedef struct LNode 将struct LNode 定义成LNode形了,所以直接强制转换为LNode *也是可以的。另外刚刚受你启发,我已经想明白了,我的实参和形参都用的二级指针,而实际上我需要传递滴的是一级指针的地址,所以全局变量Linklist *a1,改为Linklist a1;然后实参改为CreatLinklist(&a1,n);然后就没有错误了。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
•••(
Powered by问一道C语言数据结构的编程题,求助高手帮忙~!_百度知道
问一道C语言数据结构的编程题,求助高手帮忙~!
已知单链表中La中数据元素按非递减有序排列。按两种不同情况,分别写出算法将元素x插入到La合适位置上,保持该表有序性:1、La带头节点
2、la不带头节点....基础点的代码就可以,先谢谢了!
提问者采纳
这个程序是以前做的,看起来复杂,其实是太多的判断和提示内容而已,你看看主函数,再运行一下,再看看创建链表的函数,关键部分并不多,应该不难看懂,另外模块我做的比较细,有些函数你不必理会,希望能帮到你,谢谢#include &stdio.h&#include &string.h&#include &stdlib.h&#define SN 2 //科目数量(score number)typedef struct student{ char num[10],
name[10]; float score[SN],
struct student * }STU;/**********输入链表单元内容************/void input(STU *p){
printf(&please input number:\n&); scanf(&%s&,p-&num); printf(&please input name:\n&); scanf(&%s&,p-&name);
printf(&please input %d scores:\n&,SN);
p-&sum=0; for(i=0;i&SN;i++) {
scanf(&%f&,&p-&score[i]);
p-&sum+=p-&score[i]; } p-&avg=p-&sum/SN;}/**********创建一个链表单元**********/STU *creat_node(){ STU *p; p=(STU *)malloc(sizeof(STU)); if(p == NULL)
{ printf(&No enough memory !&);
} input(p); p-&next=NULL; }/**********创建一个链表**********/STU *creat_list(){ STU *head=NULL,*p; char str[4]; printf(&List creating...\n&); do {
printf(&Do you want to continue (yes/no) :&);
scanf(&%s&,str);
if(strcmp(str,&yes&)==0)
p=creat_node();
if(head==NULL)
p-&next=//前插法
if(strcmp(str,&yes&)!=0&&strcmp(str,&no&)!=0)
printf(&You must input 'yes' or 'no'.\n&);
//getchar();
if(strcmp(str,&no&)==0)
//getchar(); }while(1); printf(&List create end...\n\n&);
}/************输出一个链表头部**********/void print_a_head(){
printf(&number\tname\tavg\tsum\t&); for(i=0;i&SN;i++)
printf(&score%d\t&,i+1); putchar(10);}/************输出一个链表单元**********/void print_a_node(STU *fin){
printf(&%s;\t%s;\t%0.2f;\t%0.2f\t&,fin-&num,fin-&name,fin-&avg,fin-&sum); for(i=0;i&SN;i++)
printf(&%0.2f\t&,fin-&score[i]); putchar(10);}/************输出链表**********/int print_list(STU *stu){ STU *p= if(stu==NULL) {
printf(&no records!!!\n&);
return (0); } print_a_head(); while(p!=NULL) {
print_a_node(p);
p=p-& } putchar(10); return (0);}void main(){ STU * head=creat_list();//创建链表 print_list(head);//输出链表}另外,站长团上有产品团购,便宜有保证
其他类似问题
高手帮忙的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁热门电子书
最新电子书
数据结构 算法实现及解析 C语言[第二版] 高一凡 pdf文字版
数据结构 算法实现及解析 C语言[第二版] 高一凡 pdf文字版电子书简介:
本书是在第一版的基础上修订而成的。本书为清华大学出版社出版、由严蔚敏和吴伟民编著的《数据结构》(c语言版)(以下简称教科书)的学习辅导书。主要内容包括:教科书中的每一种数据存储结构的图示;教科书中每一种存储结构的基本操作函数及调用这些基本操作的主程序和程序运行结果;教科书中几乎每一种算法的实现。对于教科书中一些较复杂的算法,本书提供了详细的解析。有些在教科书中一带而过的存储结构(如第2章的静态链表和第6章的二叉树的三叉链表),本书也提供了完整的基本操作函数及主程序和程序运行结果。本书配有光盘,光盘中包括书中所有程序及用标准c语言改写的程序。所有程序均在计算机上运行通过。本书适用于使用教科书的大中专学生和自学者。书中的基本操作函数也可供从事计算机工程与应用工作的科技人员参考和采用。
第1章 绪论第2章 线性表第3章 栈和队列第4章 串第5章 数组和广义表第6章 树和二叉树第7章 图第8章 动态存储管理第9章 查找第10章 内部排序第11章 外部排序第12章 文件附录A 关于标准C程序附录B 光盘文件目录
下载地址:
相关电子书
解压密码:www.jb51.net 就是本站主域名,希望大家看清楚。
推荐使用 [
] 下载,使用 [
] 以上版本解压本站电子书。
如果这个电子书总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
下载本站资源,如果服务器暂不能下载请过一段时间重试!
如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
本站提供的一些商业电子书是供学习研究之用,如用于商业用途,请购买正版。
本站提供的数据结构 算法实现及解析 C语言[第二版] 高一凡 pdf文字版资源来源互联网,版权归该下载资源的合法拥有者所有。
不知如何下载的,可以查看

我要回帖

更多关于 c语言数据结构 的文章

 

随机推荐