- 博客(18)
- 收藏
- 关注
原创 队列
队列 队列比栈稍微复杂一点,特别是顺序存储结构中,有一个rear,一个front,要把他俩连起来,挺麻烦的,还有假溢出问题,队空队满的讨论都是比较难的地方,需要仔细推敲。 一、基本知识 队列:只允许在一端进行插入操作,而另一端进行删除操作的线性表。 允许插入(也称入队、进队)的一端称为队尾,允许删除(也称出队)的一端称为队头。 空队列:不含任何数据元素的队列。 假溢出:当元素被插入到数组中...
2019-11-11 18:41:37
183
原创 多维数组
一、总结: 对这一部分还是很生疏,不太会做,而且Openjudge上的题目进度缓慢, 但是我还是会好好做题的,也得抽空复习一下,不然都忘光了。 二、笔记: 线性表——具有相同类型的数据元素的有限序列。 (多维)数组——线性表中的数据元素可以是线性表,但所有元素的类型相同。 广义表——线性表中的数据元素可以是线性表,且元素的类型可以不相同。 ⑴ 存取:给定一组下标,读出对应的数组元素; ⑵ ...
2019-11-11 18:38:09
220
原创 字符串
非空串通常记为:S=" s1 s2 …… sn" 其中:S是串名,双引号是定界符,双引号引起来的部分是串值 ,si(1≤i≤n)是一个任意字符。 串的逻辑结构: 子串:串中任意个连续的字符组成的子序列。 主串:包含子串的串。 子串的位置:子串的第一个字符在主串中的序号。 串的存储结构 : 方案1:用一个变量来表示串的实际长度。 方案2:在串尾存储一个不会在串中出现的特殊字符作为串的终结符,表示串的...
2019-11-11 18:34:57
186
原创 约瑟夫
约瑟夫环 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果+1即为原问题的解。 详见百度百科约瑟夫环. ,我将是以一个单链表围成一个环,然后从第一个结...
2019-11-11 18:30:56
313
原创 单链表
1,单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 链表中的数据是以节点来表示的,每个结点的构成:元素( 数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 链表的结点结构: ┌───┬───┐ │data │next │ └───┴───┘ typedef struct Node ...
2019-11-11 18:29:13
196
原创 顺序表
数据结构编程练习(一) 设计思路:编写C++顺序表类,利用顺序存储结构存储数据,并实现其相应功能。 功能1:完成顺序表的初始化。 功能2:实现顺序表的置空功能。 功能3:实现顺序表的输入功能。 功能4:求顺序表中第i个元素,要求返回第i个元素是否存在的结果,并返回第i个元素值,利用如下的函数形式实现: 功能5:在第i个结点前插入值为x的结点。 功能6:删除顺序表中第i个元素结点,需返...
2019-11-11 18:25:38
230
原创 取整数的每一位
package 作业1; import java.util.Scanner; public class 第六题 { public static void main(String[] args) { Scanner input=new Scanner(System.in); int a=input.nextInt(); int b=0...
2019-09-17 20:35:19
395
原创 加和
package 作业1; import java.util.Scanner; public class 第二题 { public static void main(String[] args) { Scanner input=new Scanner(System.in); double A,B,X; System.out.print("输入...
2019-09-17 20:34:13
218
原创 温度转换
package 作业1; import java.util.Scanner; public class 第一题 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("华氏温度:"); doubl...
2019-09-17 20:33:04
122
原创 做系统感受
从手机通讯录,到图书管理系统,再到12306,有很多体验感受,分享一下 期初开始做,真的什么也不会,一说系统就很懵,完全不懂是什么,就听到老师说我们下周要做系统了,然后,然后就开始了 从了解类开始,把类的每个功能分开做,数据类 操作类 ,类与类之间继承与实现关系,了解了之后就开始做 先学样子,成员函数,get,set函数,重载运算符 最重要的也是最关键的操作,查询 修改 操作数据,读取存入...
2019-06-23 22:10:26
421
原创 动态规划
相同: 动态规划和贪心算法都是一种递推算法 均有局部最优解来推导全局最优解 不同点: 贪心算法: 1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留。 2.由(1)中的介绍,可以知道贪心法正确的条件是:每一步的最优解一定包含上一步的最优解。 动态规划算法: 1.全局最优解中一定包含某个局部最优解,但不一定包...
2019-03-27 22:21:39
819
原创 Iterator
C++ Iterator迭代器操作举例 (1) 每种容器类型都定义了自己的迭代器类型,如vector: 1 vector<int>::iteratoriter;//这条语句定义了一个名为iter的变量,它的数据类型是由vector<int>定义的iterator类型。 (2) 使用迭代器读取vector中的每一个元素...
2019-03-24 21:23:23
94
原创 容器
Vector push_back()函数向vector中添加元素时,会创建参数的一个副本,添加的是这个新值而不是原始值 使用pop_back()函数删除vector对象中的元素时,要先检测对象是否为空 如果要用循环向vector对象中添加元素,不能使用范围for,范围for不能改变所遍历的容器的大小 不能用下标运算符向vector中添加元素 下标运算符只能访问已经存在的元素 不能用下标...
2019-03-24 21:23:00
151
原创 类和对象
类的定义 1:基本语言定义的ADT 抽象数据类型:一组数据和对这些数据的操作。C++允许用户以类的形式自定义数据类型,反映待解决问题中的各种概念,以更自然的方式编写程序。 数据抽象: 接口和实现分离 类的接口包括用户能执行的操作 类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数 定义采取结构体加全局函数 定义结构体变量;读入数据;输入商...
2019-03-24 21:22:28
97
原创 auto 类型说明书
编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚知道表达式的类型。然而要做到这一点并非那么容易,有时候甚至根本做不到。为了解决这个问题,C++11标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型。 与原来那些只对应一种特定类型的说明符不同,auto让编译器通过初值来推算变量类型。显然,auto定义的变量必须要有初始值。 使用auto具有以下几点好处: ...
2019-03-16 07:36:11
442
原创 期末总结
学了一个学期C语言,感受颇多啊!从一开始只是觉得好玩,到现在接纳为解决数学类问题的工具,到成为一个朋友。现在还没有成为一个朋友,因为我学的还不到位啊,所以,假期里基础知识再过一过,至少初级的竞赛题可以会,买几本C语言的提升书,看看大牛成长记录,也让人家启发启发咱。 总结一下这学期学的。 1)我认为学到的最重要的一点就是细节,细致,细心。机器就是机器,任何一个环节错了都不会过,所以编程规范化...
2019-01-05 13:54:23
106
原创 数组
数组 一、一维数组的创建和初始化 1.数组的创建 数组是一组相同类型元素的集合。 int arr[10]; 注:创建数组,[]中要给一个常量。 2.数组的初始化 数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值。 int arr1[10]={0}; int arr2[4]={1,2,3,4}; 注:数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素...
2018-12-09 17:25:21
135
原创 入门c语言
C数据类型 常量与变量 常量:整型,实型,字符型,字符串型 整型表示形式:进制-以数值为基数 十进制 二进制 八进制 十六进制 不同类型整型常量 有符号整型常量 int型定义,10,-30,0 无符号整型常量 不能表示负数,30u ...
2018-11-11 18:58:10
295
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅