数据结构-线性表问题(严蔚敏C语言版清华大学出版社)

作者&投稿:福文 (若有异议请与网页底部的电邮联系)
数据结构(C语言版)(严蔚敏、 吴伟民 清华大学出版社)~

看样子你有一定的c/c++基础,我不喜欢国内的书,并不是崇洋媚外,我说的是事实。
直接发链接了。
数据结构与算法分析—C语言描述

http://ishare.iask.sina.com.cn/f/6668446.html


有兴趣也可以看一下这个。
计算机程序设计艺术,共三卷。
http://ishare.iask.sina.com.cn/f/10570222.html

http://ishare.iask.sina.com.cn/f/23054201.html?from=like

http://ishare.iask.sina.com.cn/f/22755079.html?from=like

都是同一作者主编的同一个学科的教材。数据结构这门课程本身的内容还是比较固定的,所以两本书(包括其他作者在其他出版社出版的教材)章节结构肯定比较相似,内容的讲解也应该是同一个套路。
如果说不同之处,最大的不同在于《数据结构》当中的程序以伪代码实现为主,而《数据结构C语言》显然是使用C语言来实现的。

很简单,写算法时,要返回的传地址,不需要返回的,传值
也可以这么说,要在函数中改变的,传地址,不需要改变的,传值
比如GetElem( L, i, &e)说明e的值在函数中会改变,需要返回到主函数中,因此要传地址,而i,L只是在函数中引用一下,不要返回到主函数中
实参传入函数中时,会在内存中另开辟一个空间,比如上面在主函数中调用
GetElem( L, i, &e);
此时在内存中复制一份
L,i,&e,因此在内存中操作L,i,是不会改变主函数中的值,而e复制的是地址(指针),照样指向主函数中的e,因此,改变*(&e)的内容,照样能改变主函数的e的值
-----------------------------
1正确
2你能不能把算法的功能简单的说下,还有函数的各个参数的用途
前面定义和本函数无关,只要在本函数中改变,就需要传地址


一道数据结构的编程题目,希望大大们给小弟解答下,谢谢哈
#include"c2-1.h" \/\/ 线性表的顺序存储结构 #include"bo2-1.cpp" \/\/ 线性表顺序存储结构的基本操作 #include"func2-2.cpp" \/\/ 包括equal()、comp()、print()、print1()和print2()函数 Status sq(ElemType c1,ElemType c2) { \/\/ 数据元素判定函数(平方关系),LocateElem()调用的函数 if(c1==c2*c2...

关于数据结构的问题,用C语言描述
大家主要注意以下几点:数据结构的基本概念,时间和空间复杂度的概念及度量方法,算法设计时的注意事项。本章考点不多,只要稍加注意理解即可。第一章 线性表作为线性结构的开篇章节,线性表一章在线性结构的学习乃至整个数据结构学科的学习中,其作用都是不可低估的。在这一章,第一次系统性地引入链式存储的概念,链式存储...

下列叙述中正确的是( )。A.栈是“先进先出”的线性表B.队列是“先进后...
【答案】:D 本题主要考查了栈、队列、循环队列的概念。栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。

第1 章 绪论(1.1什么是数据结构)
关于非数值计算(学生学籍管理系统 图书管理系统 人事管理系统 通讯录...) { 操作对象:每位学生的信息 操作算法:查询,插入,修改,删除 操作对象之间的关系:线性关系 数据结构:线性表数据结构,线性表 } 数据结构是介于数学,计算机硬件和计算机软件三者之间的一门核心...

数据结构与存储结构的关系?
双向链表是链表的一种,所谓链表指的是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。相比于线性表顺序结构,操作复杂。栈也就是堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。

数据结构笔试题和答案
数据结构笔试题和答案 数据结构笔试题和答案:1. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:q=head;while (q->next!=p) q=q->next;s= new Node; s->data=e;q->next= ; \/\/填空 s->next= ; \/\/填空 2. 线性表的顺序存储结构是一种 的存储结构,...

数据结构学习——图
图是数据结构中一种复杂的数据组织形式,它由顶点(Vertex)和边(Edge)组成。顶点用有限非空集合V(G)表示,边用集合E(G)表示,图可表示为G=(V,E)。顶点数量|V|称图阶,边数量|E|称图的边数。图与线性表和树结构不同。在图中,结点间的关系可以任意,任意两个结点间都可能相关,且没有前后...

线性表的顺序结构和链条结构各有什么优缺点
①顺序结构:优点:易于查询,索引快 list[n]这样的操作,O(1)复杂度 缺点:扩展性弱,不易删除、添加。②链表结构:优点:扩展性强,易于删除、添加 缺点:不易于查询,索引慢,list[n]这样的操作,复杂度为O(n)二者优缺点正好是互补关系 ...

数据结构
逻辑结构有四种基本类型:集合结构、线性结构、树状结构和网络结构。表和树是最常用的两种高效数据结构,许多高效的算法可以用这两种数据结构来设计实现。表是线性结构的(全序关系),树(偏序或层次关系)和图(局部有序(weak\/local orders))是非线性结构。 ? 数据结构的物理结构是指逻辑结构的存储镜像(image)。数据结构...

2023年云南专升本数据结构考试大纲
一、考试内容概述(一)基本理论知识1.数据结构的基本概念和基本术语,算法的描述,算法的时间复杂度和空间复杂度分析。2.线性表的定义,在线性表上常进行的基本操作,这些操作在顺序和链式存储结构下的实现及复杂度分析。3.栈和队列的定义、特点、表示方法和实现。4.串的定义及其基本操作。5.数组的定义...

北京市13942879852: 【数据结构c语言版严蔚敏】的问题: 两个有序线性表的交集合并成一个新有序线性表,求新有序线性表算法? -
象利代文: 菜鸟路过... #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0typedef struct {int *elem;int length;int listsize; } SqList;int InitList_Sq(SqList *L,int len) { //构造一个空的线性表L,该线性表预定义大小为lenL->elem=(int *)...

北京市13942879852: 数据结构中,怎么用C语言构造线性表! -
象利代文: #define OK 1#define ERROR -1#define MAX_SIZE 100 typedef int Status ; typedef int ElemType ; typedef struct sqlist { ElemType Elem_array[MAX_SIZE] ; int length ; } SqList ; 以上为线2113性5261表4102建立的相关定1653义 Status Init_SqList...

北京市13942879852: 数据结构C语言线性表问题
象利代文: 你理解没有问题啊. 循环开始前,p,q指向原先的第一个节点,L指向原先第二个节点.循环完毕后,p指向尾节点,q仍指向第一个节点,L指向第二个节点. p->next=q,将q指向的节点(原第一个节点),连接到p节点后(原先尾节点),成为新的尾节点; q所指向的节点成为尾节点后,next需指向null,所以有q->next=NULL. 此时,L指向的节点为头节点,q指向的节点是尾节点,所以return L.

北京市13942879852: 数据结构 线性表 用c语言 -
象利代文: 展开全部#include#include#define maxsize 1024 typedef int datatype; typedef struct{ datatype data[maxsize]; int last; }sequenlist; sequenlist* InitList() { sequenlist *L=(sequenlist*)malloc(sizeof(sequenlist)); L->last=0; return L; } int InsertList(sequenlist...

北京市13942879852: 数据结构(c语言版)数据类型线性表的实现 -
象利代文: 常用的线性表的插入,删除,创建,按位置查找,按值查找,排序.其他操作都是基于以上基本操作实现的,你所谓的12个操作:排序有很多方法,插入类,选择类,交换类,归并类,基数排序法等,这些都是线性表的操作.一般本科阶段教学大纲中掌握上面的内容即可.

北京市13942879852: 数据结构(C语言版)线性表的操作 -
象利代文: //--------------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> typedef struct {int *elem;int length;int listsize; }sqlist; void initlist_sq(sqlist *L){ /*注意这里*/L->elem=(int *)malloc(5*sizeof(sqlist)); /*注意这里*/if(!L->...

北京市13942879852: 给出一个图如何画出其邻接表,要求具体过程
象利代文: 严蔚敏的《数据结构》c语言版的164面有,画的过程是先画左边那个由表头结点组成的4个单元的线性表,把这个线性表的各单元的序号写在左边,然后再从上到下完成从每个顶点开始的单链表,单链表中的每个邻接点不填顶点名称,填它在表头结点构成的线性表中的序号. 画图传图好麻烦,如果有问题请追问.

北京市13942879852: 数据结构(C语言) -
象利代文: 你是在看严蔚敏、吴伟民的数据结构吗? 那些算法只要自己会用“类C语言”写就可以了. 如果你真要用C语言实现上述算法,也不难. 生成顺序表就是定义一个数组; 插入一个元素就是把当前元素依次与数组元素作比较,找到位置后将后面的元素向后移一位,再插入; 显示所有元素更简单,依次输出数组元素即可.

北京市13942879852: 严蔚敏的数据结构C语言版怎么学呀 -
象利代文: 谈谈如何学习数据结构:1.如果你没有学过C语言,或者C语言学的不好的时候把数据结构当成一本数学书来学,它所讲述的都是一些简单的图论.在你的大脑中的主线不能丢失:线性结构,树结构和图结构.当你不再考虑复杂的程序设计时,...

北京市13942879852: 数据结构线性表问题 -
象利代文: 这是C++中的引用.void MergeList_Sq(SqList &La, SqList &Lb, SqList &Lc) ;这么定义是,你调用这个函数时 void MergeList_Sq(la, lb. lc);这样就直接改变了la, lb. lc,如果定义成你写的这样 void MergeList_Sq(SqList La, SqList Lb, SqList ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网