数据结构之线性表的基本C语言语法
一开始没做笔记,大家想看的话可以参考这里
- 【数据结构绪论】
- 【数据结构(二)】
- 【数据结构——算法和算法分析】
- 【数据结构——渐进时间复杂度】
- 【数据结构——初识线性表】
- 【数据结构——线性表的顺序实现】
博客主要是观看青岛大学-王卓老师的视频时的总结或者个人笔记。
基础知识补充
元素类型说明
这里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语言语法相关推荐
- 用标准C语言初始化线性表,C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作...
1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...
- c语言如何删除数组中的某一个元素_数据结构之线性表高效删除重复元素
刚刚学完数据结构之线性表中关于顺序表和单链表的知识,我们知道顺序表中存储数据的结构是一个数组,对于数组来说,在尾部插入.删除元素是比较高效的,但是如果在中间或者开头插入.删除元素,就会涉及数据的搬移, ...
- c语言用两个栈构造队列伪码,数据结构习题线性表栈队列.doc
数据结构习题线性表栈队列 线性表(58) 1. 在单链表.双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少? 2.设线性表的 ...
- 数据结构之线性表——(二、链式存储结构)[c语言]
数据结构之线性表--(二.链式存储结构-单链表) 链式存储结构以及基本运算的实现 背景:由于线性表的存储特点是用物理上的相邻实现逻辑上的相邻,他要求用连续的存储单元顺序存储线性表中的各个元素,所以,对 ...
- python线性表和队列_[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列...
python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构 ...
- 数据结构之线性表----一文看懂顺序表、单链表、双链表、循环链表
线性表是数据结构中比较基础的内容,不过也是入门的所需要客服的第一个难关.因为从这里开始,就需要我们动手编程,这就对很多同学的动手能力提出了挑战.不过这些都是我们需要克服的阵痛,学习新的知识总是痛苦 ...
- 大一新生必看,自学必看,里昂详解数据结构之线性表
数据结构之线性表(顺序表) 有幸掌握浅薄知识,不吝分享,保持独立思考,自主学习,共同进步.另求关注,点赞,评论,感谢!(tips:主页有数据结构全部知识点,以及知识点讲解,建立完善的数据结构知识体) ...
- Python 数据结构 之 线性表 的链式存储结构
用Python 来实现 C语言中 线性表的链式存储结构. 文章转载请注明: Python 数据结构 之 线性表 的链式存储结构 代码地址 https://github.com/WenkeZhou/P ...
- Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。
数据结构与算法入门 问题1:为什么要学习数据结构 如果说学习语文的最终目的是写小说的话,那么能不能在识字.组词.造句后就直接写小说了,肯定是不行的, 中间还有一个必经的阶段:就是写作 ...
最新文章
- nginx转发图片请求变成html/text_教你使用nginx部署网站教程
- spring-test dao空指针异常_014、Java异常机制
- 多個不同格式文件如何合並至一個PDF檔
- java 字符串比较 == equals_java怎么比较字符串,==和equals有什么区别
- 智能会议系统(30)---WebRTC学习之一:开篇
- WPF ----在UserControl的xaml里绑定依赖属性
- ABAP 自建透明表维护
- C++进阶之函数模板
- 我想牵你的手,从心动到古稀
- python开发酷q插件gui_酷Q机器人插件开发笔记
- SpringBoot+Nacos 配置中心 + 服务注册与发现
- 台币转换计算机,Soulver 内建自动计算机功能的备忘录工具 货币换算、複杂数学式也支援...
- 将本地项目上传到码云仓库
- verilog的描述风格
- SQL高级查询—实验报告
- VS连接数据库运行后显示对象名无效
- Windows虚拟主机有哪些优势?
- 啃完这本阿里手册,应届七面进阿里
- 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
- python中的逻辑判断与循环
热门文章
- wordpress php执行短代码_PHP 8.0发布日期和PHP中JIT的状态
- mysql 计算近30天总金额_MySQL数分实战:咖啡店精细化运营
- java jtextarea滚动条下滑,关于JTextArea的滚动条问题
- linux 文件系统路径,Linux编程 1 (文件系统路径说明, 目录结构说明)
- linux系统5.5安装教程,图解安装Debian 9.5全过程
- java二叉树算法_java构建二叉树算法
- ios 音高测试软件,App Store 上的“绝对音感训练!”
- python实现单链表快速排序升序linkedqueue_LeetCode 总结 - 搞定 Linked List 面试题
- linux nginx 配置端口访问,Linux入门教程:ubuntu 16.04配置nginx服务器实现一个IP一个端口多个站点,ubuntunginxNginx 使用异步...
- python 快速排序_python-快速排序的两种方法