您的位置:

一个看不懂的c语言数据结构,一个看不懂的c语言数据结构怎么办

本文目录一览:

C语言数据结构问题,刚学就不懂了

while(p!=NULL)

{p=p-link;++i; //这里有问题,还没有访问数据就直接将指针移到后面节点了;

sum=sum+p-data;} //这个应该写到上面,另外因为上面的原因可能会导致内存非法操作,如你操作到p指向c的时候,p此时不为NULL,但当你执行p=p-link;后,p就成为NULL了,再访问p-data就会出错的。

ave=sum/i;

return ave;}

改为:

while(!p)//从Head开始访问,直到链表结束

{

sum += p-data;//累加数据

i += 1;//计数器加1

p = p-link;//指向下一节点

}

if(i!=0)//若链表不为空,返回平均值

return sum/i;

else//若为空链表,返回0,主要是避免除0错误的发生,Good Luck!

return 0;

高手解答 c语言编写数据结构实例 下面的代码看不懂,高手解答

while(i=L.length!compare(*p++,e))

++i;

这个循环就是扫描数组找满足关系的元素的一个过程,循环条件不用解释了吧,一个是循环的边界判断条件,一个是已知的compare()函数,也就是循环的结束条件;

if(i=L.length)

这个if语句的判断条件是i=L.length,表示的是上边的循环式从中间跳出的,也就是找到找到了满足条件的元素,所以返回该元素的位序i,否则表示上面的循环已超出边界并且没有满足条件的元素,所以返回0;

Status(*compare)(ElemType,ElemType))是个函数指针;

数据结构C语言版自学完全看不懂

鄙人是计算机专业的,假期里,在我预习数据结构的时候也是看不懂。不过可以给你点建议:

1、看不懂,只有硬着头皮看,把整本书大致的看一遍,然后回头再看一遍。

2、到开这门课的班级听课,与其老师沟通,了解那些是重点,那些是了解的知识(有些小节是不用看的)。

3、网上有视频的,可以下载 《严蔚敏老师》 的视频。

数据结构确实比较难,是计算机考研科目里仅次于数学的一门,有困难是正常的。

相信你是一个自学能力很强的人,祝你学业有成。

一道C语言数据结构题,程序已给好,看不懂意思,求给分析。。注释。。重赏。。。!

你这个分不太好赚哦...真不好琢磨你哪里不懂,这就关系到注释到哪种程度.能帮你理解多少算多少吧.

为了让你方便看,我们从节点定义和主函数开始.

------------------------------------------------

struct slist

{

double s; //用于存储分数的变量

struct slist *next; //指向下一个节点的指针

};

typedef struct slist STREC //申明节点结构类型

void main()

{

double s[N]={85,76,69,85,91,72,64,87}, max; //这是程序样本,即所谓N个学生的成绩.但这个N是有限的,静态的,编译的时候,#define N 8,最多就是8个.这显然只是用于测试后面处理用的样本.

STREC *h; //申明了一个节点指针。

此处需要说明一下的是,从这个代码的操作来看,这个链表是先进先出的队列操作模式,可以通俗的说h是这个队列的头。但此处代码,多用内存存储了一个0,从某种意义上说,这是不必要的;

h=creat(s);

//建立队列,将数组中的分数样本存储到队列。参数为数组首地址。

outlist(h);

//展示队列数据。

max=fun(h);

//调用fun,返回最大的分数值。

printf("max=%6.1f\n",max);

//按照指定宽度打印浮点数格式的结果值。

}

--------------------------------------------------------------

下一个,按顺序来看,建立队列。

STREC *creat( double *s) //返回队列头的地址(指针)。参数为指向双精度数据变量的指针。

{

STREC *h,*p,*q; //此处说明:h存放队列头地址,p存放当前访问队列节点地址(已经进入队列,或者说当前队列尾节点地址),q存放新增节点的地址(还没有进入队列);

int i=0; //初始化循环增量

h=p=(STREC*)malloc(sizeof(STREC)); //为队列头分配空间,并用指针变量记录队列头地址。可以认为,当前只有一个节点,既是头,也是尾;

p-s=0; //队列头节点中分数变量赋值为0。这是可以不这样做的。

while(iN) //从第0个数据开始存储,一直到第N-1个数据,共计存储N个数据,将数据存储完成后退出循环

{

q=(STREC*)malloc(sizeof(STREC)); //为新节点数据分配空间,首地址保存在q中

q-s=s[i]; //将数组中第i个对应分数数据存入新节点对应位置。

i++; //循环变量自增1

p-next=q; //将新节点链接到队列尾。或者说,当前队列尾的下一个节点是上面构造的那个节点;

p=q;///重新记录或者说更新队列尾

}

p-next=0; //此处对于这种用法不发表看法;意思是,最终形成的队列“尾节点的下一个节点不存在”,就是表示队列生成完毕,此时p就是真正的队列尾,后面再也没有其它节点了。

return h; //将队列头地址返回

}

----------------------------------------------

下一个展示队列

void outlist(STREC *h)

{

STREC *p; //申明存放节点地址的指针标量

p=h-next; //取得队列中第二个节点的地址。因为在构造时,第一个节点中的分数数据是0,所以,从第二个开始打印。

printf("head"); //开始做打印提示

do

{

printf("-%2.0f",p-s); //按照定制格式打印当前节点中的分数值

p=p-next; //取得下个节点的地址

}

while(p!=0) ; //队列没有打印完的话,继续。此处用法不算标准用法。当然,原理上没有问题。

printf("\n\n");

}

-------------------------------------------------------------------------------------

最后一个

double fun( STREC *h ) //在队列中,找到最大的分数值

{

double max; //申明存放最大分数数据的变量

STREC *q=h; //申明指向队列的指针变量

max=h-s; //用队列头中的数据初始化最大分数值。即:max=0;

do

{

if(q-smax) //用队列中的当前节点(其实是每一个节点)中的数据与当前MAX(目前选出的最大数)做比较。包括队列头重的那个'0‘,即第一次比对的时候,是if(00).

max=q-s; //总是存放比较大的那个数

q=q-next; //取队列中下一个节点

}

while(q!=0); //队列没有遍历完的话,继续

return max; /队列遍历完成,返回最大的那个数

}

--------------------

希望能够帮到你!

---

天啊,我早上打开楼主这个求助,我以为可能回答的人不会太多,由于我还在忙,途中吃了个饭,才慢慢过来写,结果...不过我比较了下,还是我写的要详细些。(一楼有点晕,估计他以后自己看了都会笑自己), 最重要的是,大家能帮到你,就OK了!

一个看不懂的c语言数据结构,一个看不懂的c语言数据结构怎么办

2022-12-02
对c语言一点不懂,为什么学了c语言还是看不懂

2023-01-07
c语言怎么看懂,怎么理解C语言

2022-11-28
我懂c但是不懂php,c语言看的懂,写不出怎么办

2022-11-30
数据结构版c语言视频教程30课时,c++数据结构视频

2022-11-27
来个c语言懂得看看,c语言!是

本文目录一览: 1、C语言. 懂的来!! 2、C语言简单题,,懂得来看看我哪里错了,满分求改错,谢谢了 3、c语言,高手来看看!!! 4、C语言 而且在电脑面前的,懂得来看看 我需要一个结果图 随便敲

2023-12-08
学习c语言看不懂程序,学完c语言不会写程序

2023-01-03
c语言要学数据结构,c语言要学数据结构吗

2023-01-05
c语言笔记讲解,c语言程序笔记

2022-11-23
先学c语言数据结构,数据结构的c语言基础

2022-11-29
c语言数据结构与算法,c语言数据结构与算法第44讲

2022-11-24
c语言基础数据结构,数据结构C语言

2022-12-01
c语言元素结构,c语言的语言结构

2023-01-04
c语言总体结构,c语言的总体结构是怎样的

2022-12-01
看不懂单片机c语言程序,C语言与单片机

2023-01-08
c语言算法和数据结构关系,数据结构与算法C语言

2022-11-30
c语言程序设计学不懂,c语言程序设计很难学吗

2022-12-01
c语言都不知道,c语言不知道数组长度怎么定义

2023-01-07
数据结构java,数据结构java语言描述

2022-12-01
数据结构必须要有c语言基础吗,数据结构的基础是c语言吗

2022-12-02