- 博客(9)
- 资源 (10)
- 收藏
- 关注
原创 C++ OJ 中多行数据输入(大小写转换、通过移位运算实现2的n次方、多组输入,每行输入数量不一样)
求整数个位数字之和while (cin >> a) { c = 0; for (int i = 1; (i < 11)&&(a != 0); ++i) { c += a % 10; a = a / 10; } cout << c << endl;}while(cin>>a>>b) 主要解决的是两个为一组的多组数据输入,当一次只输入一个数据.
2021-07-30 22:25:37 927
原创 数据结构(06)— 线性循环链表实战
1. 循环链表定义单链的循环链表结点的存储结构和单链表的存储结构一样, 所不同的是: 最后一个结点的 next 域指向头结点, 而不是“空”。这样, 由表尾很容易找到表头。但若链表较长, 则由表头找到表尾较费时, 因而, 单循环链表往往设立尾指针而不是头指针, 如图 2 31所示。这在两个链表首尾相连合并成一个链表时非常方便。...
2021-07-29 20:26:21 186 2
原创 数据结构(05)— 线性单链表实战
1. 设计思路本项目的实质是完成对考生信息的建立、查找、插入、修改、删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。2. 数据结构本项目的数据是一组考生信息,每条考生信息由准考证号、姓名、性别、年龄、报考类别等信息组成,这组考生信息具有相同特性,属于同一数据对象,相邻数据元素之间存在序偶关系。由此可以看出,这些数据也具有线性表中数据元素的性质,所以该系统的数据可以采用线性表来存储。从上一节的例子中可见,线性表的
2021-07-19 20:29:22 209
原创 数据结构(04)— 线性顺序表实战
1. 实战简介本实战的实质是完成对学生成绩信息的建立、查找、插入、修改、删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。2. 数据结构本项目的数据是一组学生的成绩信息,每条学生的成绩信息由学号、姓名和成绩组成,这组学生的成绩信息具有相同特性,属于同一数据对象,相邻数据元素之间存在序偶关系。由此可以看出,这些数据具有线性表中数据元素的性质,所以该系统的数据采用线性表来存储。顺序表是线性表的顺序存储结构,是指用一组
2021-07-15 21:02:00 441
原创 数据结构(03)— 数据处理基本操作(数据的查找、新增、删除、修改)
我们先来看一个关于查找的例子。查找,就是从复杂的数据结构中,找到满足某个条件的元素。通常可从以下两个方面来对数据进行查找操作:根据元素的位置或索引来查找;根据元素的数值特征来查找。针对上述两种情况,我们分别给出例子进行详细介绍。1. 从数组中找元素例 1,我们来看第二个例子,对于一个数组,找到数组中的第二个元素并输出。这个问题的处理很简单。由于数组本身具有索引 index ,因此直接通过索引就能查找到其第二个元素。别忘了,数组的索引值是从 0 开始的,因此第二个元素的索引值是 1
2021-07-14 20:36:56 1644 2
原创 数据结构(02)— 时间复杂度与空间复杂度转换
1. 时间复杂度转化为空间复杂度常用的降低时间复杂度的方法有递归、二分法、排序算法、动态规划等,降低空间复杂度的核心思路就是,能用低复杂度的数据结构能解决问题,就千万不要用高复杂度的数据结构。在程序开发中,连接时间和空间的桥梁就是数据结构。对于一个开发任务,如果你能找到一种高效的数据组织方式,采用合理的数据结构的话,那就可以实现时间复杂度的再次降低。同样的,这通常会增加数据的存储量,也就是增加了空间复杂度。转化步骤的流程如下:暴力解法。在没有任何时间、空间约束下,完成代码任务的开发;无效
2021-07-13 20:57:13 1035
原创 数据结构(01)— 算法复杂度概念及常见的复杂度计算
1. 大 O 表示法大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度。大 O 表示法指出了最糟情况下的运行时间。大 O 表示法在讨论运行时间时,log 指的都是 log2。2. 复杂度概念复杂度是一个关于输入数据量 n 的函数。假设你的代码复杂度是 f(n),那么就用个大写字母 O 和括号,把 f(n) 括起来就可以了,即 O(f(n))。例如,O(n) 表示的是,复杂度与计算实例的个数 n 线性相关;O(logn) 表示的是,复杂度与计算实例的个
2021-07-12 20:29:40 2860
原创 C++ 笔记(34)— C++ exit 函数
当遇到 main 函数中的 return 语句时,C++ 程序将停止执行。但其他函数结束时,程序并不会停止。程序的控制将返回到函数调用之后的位置。然而,有时候会出现一些非常少见的情况,使得程序有必要在 main 以外的函数中终止。要实现这一点,可以使用 exit 函数。当调用 exit 函数时,无论是哪个函数包含了该调用,都将导致程序停止。见如下示例代码:#include <iostream>#include <cstdlib>using namespace std;
2021-07-08 20:27:05 746
原创 C++ 笔记(33)— C/C++ 程序员常见面试试题深入剖析
1. 找错题试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy(string, str1);} 错误原因:字符串 str1 需要 11 个字节才能存放下(包括末尾的 \0),而 string只有 10 个字节的空间,strcpy会导致数组越界;试题2:void test2(){ char string[10], str1[10]; int i; for(i=0; i<10; i++)
2021-07-07 20:16:23 607 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人