一开始没做笔记,大家想看的话可以参考这里

  • 【数据结构绪论】
  • 【数据结构(二)】
  • 【数据结构——算法和算法分析】
  • 【数据结构——渐进时间复杂度】
  • 【数据结构——初识线性表】
  • 【数据结构——线性表的顺序实现】

博客主要是观看青岛大学-王卓老师的视频时的总结或者个人笔记。

基础知识补充

元素类型说明


这里ElemType代表你到data的类型,比如int float char等等

如果不想换可以提前声明,比如用typedef char ElemType这样就代表这个 ElemType是一个字符型。

如果我们需要的是一个结构体变量,则可以这样

这个结构体中一个是float型到p 还有一个int型的e,这里就用里Polynomial来作为这个结构体的类型,下面就用Polynomial来指明其类型

数组定义


第一个中,data[MaxSize]中存放的是第一个元素的地址,也就是首地址,当然也可以直接定义一个指针变量,进行动态分配


这里是先定义了个线性表L,再用内存分配函数对其进行内容的分配。

C语言的内存动态分配


malloc的括号里,sizeof(ElemType)是计算了ElemType的字节数,如int就是4个字节,char就是1个字节,然后乘个maxsize代表开辟的空间。比如就是int型的变量,maxsize是200,这样就开辟了800个空间地址,然后其那面的类型是int,也就是800个地址,4个一组分成了200组。
注意,(Elemtype *)这个括号是强制类型转换运算,前面那个 ** 号 **因为分配好的结果是个指针,所以进去也要是指针,所以代表的指针,后面那个号就是乘的意思了

c++的动态储存分配

new就是分配空间,

c++中的参数传递



这里比如a=1 b=2然后传入函数,但只是函数中 m n的值变化了,a b的值没有变化
下面这个a b的数值就交换了

这里传入swap函数的是a和b的地址也就是p1,p2,进入后*m就代表a的值,*n是b的值,*m *n交换了,也就是a b的值交换了,所以数值改变了

这里传进去的依然是a和b的地址,但m代表的是a的地址,n代表的是b的地址,在函数中,m指向了b的地址,n指向了a的地址,所以对外部的a b没有任何影响。

传地址方式–数组名作参数

这里就是将a[10]的首地址传到了sub函数中,然后对其重新赋值,hello就变为了world,注意这里char b[]不能定义大小,因为我们不知道传入地址是多大的

传地址方式–引用类型作参数

数据结构之线性表的基本C语言语法相关推荐

  1. 用标准C语言初始化线性表,C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作...

    1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...

  2. c语言如何删除数组中的某一个元素_数据结构之线性表高效删除重复元素

    刚刚学完数据结构之线性表中关于顺序表和单链表的知识,我们知道顺序表中存储数据的结构是一个数组,对于数组来说,在尾部插入.删除元素是比较高效的,但是如果在中间或者开头插入.删除元素,就会涉及数据的搬移, ...

  3. c语言用两个栈构造队列伪码,数据结构习题线性表栈队列.doc

    数据结构习题线性表栈队列 线性表(58) 1. 在单链表.双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 2.设线性表的 ...

  4. 数据结构之线性表——(二、链式存储结构)[c语言]

    数据结构之线性表--(二.链式存储结构-单链表) 链式存储结构以及基本运算的实现 背景:由于线性表的存储特点是用物理上的相邻实现逻辑上的相邻,他要求用连续的存储单元顺序存储线性表中的各个元素,所以,对 ...

  5. python线性表和队列_[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列...

    python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构 ...

  6. 数据结构之线性表----一文看懂顺序表、单链表、双链表、循环链表

    ​ 线性表是数据结构中比较基础的内容,不过也是入门的所需要客服的第一个难关.因为从这里开始,就需要我们动手编程,这就对很多同学的动手能力提出了挑战.不过这些都是我们需要克服的阵痛,学习新的知识总是痛苦 ...

  7. 大一新生必看,自学必看,里昂详解数据结构之线性表

    数据结构之线性表(顺序表) 有幸掌握浅薄知识,不吝分享,保持独立思考,自主学习,共同进步.另求关注,点赞,评论,感谢!(tips:主页有数据结构全部知识点,以及知识点讲解,建立完善的数据结构知识体) ...

  8. Python 数据结构 之 线性表 的链式存储结构

    用Python 来实现 C语言中 线性表的链式存储结构. 文章转载请注明:  Python 数据结构 之 线性表 的链式存储结构 代码地址 https://github.com/WenkeZhou/P ...

  9. Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。

    数据结构与算法入门 问题1:为什么要学习数据结构          如果说学习语文的最终目的是写小说的话,那么能不能在识字.组词.造句后就直接写小说了,肯定是不行的, 中间还有一个必经的阶段:就是写作 ...

最新文章

  1. nginx转发图片请求变成html/text_教你使用nginx部署网站教程
  2. spring-test dao空指针异常_014、Java异常机制
  3. 多個不同格式文件如何合並至一個PDF檔
  4. java 字符串比较 == equals_java怎么比较字符串,==和equals有什么区别
  5. 智能会议系统(30)---WebRTC学习之一:开篇
  6. WPF ----在UserControl的xaml里绑定依赖属性
  7. ABAP 自建透明表维护
  8. C++进阶之函数模板
  9. 我想牵你的手,从心动到古稀
  10. python开发酷q插件gui_酷Q机器人插件开发笔记
  11. SpringBoot+Nacos 配置中心 + 服务注册与发现
  12. 台币转换计算机,Soulver 内建自动计算机功能的备忘录工具 货币换算、複杂数学式也支援...
  13. 将本地项目上传到码云仓库
  14. verilog的描述风格
  15. SQL高级查询—实验报告
  16. VS连接数据库运行后显示对象名无效
  17. Windows虚拟主机有哪些优势?
  18. 啃完这本阿里手册,应届七面进阿里
  19. 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
  20. python中的逻辑判断与循环

热门文章

  1. wordpress php执行短代码_PHP 8.0发布日期和PHP中JIT的状态
  2. mysql 计算近30天总金额_MySQL数分实战:咖啡店精细化运营
  3. java jtextarea滚动条下滑,关于JTextArea的滚动条问题
  4. linux 文件系统路径,Linux编程 1 (文件系统路径说明, 目录结构说明)
  5. linux系统5.5安装教程,图解安装Debian 9.5全过程
  6. java二叉树算法_java构建二叉树算法
  7. ios 音高测试软件,‎App Store 上的“绝对音感训练!”
  8. python实现单链表快速排序升序linkedqueue_LeetCode 总结 - 搞定 Linked List 面试题
  9. linux nginx 配置端口访问,Linux入门教程:ubuntu 16.04配置nginx服务器实现一个IP一个端口多个站点,ubuntunginxNginx 使用异步...
  10. python 快速排序_python-快速排序的两种方法