
C++
文章平均质量分 74
「已注销」
这个作者很懒,什么都没留下…
展开
-
度过漫长又艰辛的 2020 年,我收集了 1273 人的年度感悟
本文转载自 神译局2020年,注定根植于我们的记忆;这一年有的人沉默着过,一场疫情也让很多人有了太多的感悟。本文作者Dennis Miller写过不少畅销书,也有很多忠实的读者,在新年开端,他向他的订阅读者发了邮件,问大家:“你在2020年得到的最大教训是什么?”有1000多人回复了,其中一些人写了很多多页的想法和经验。这些答复来自几十个不同的国家,有15岁的男女,也有84岁的老人,有的人度过了一生中最美好的岁月,也有的人度过了最糟糕的岁月。作者花了大半个星期的时间梳理这些邮件后,出现了一些重要的主题。把转载 2021-02-17 10:48:07 · 425 阅读 · 0 评论 -
Ubuntu20.04 Linux C/C++------折半查找
如果不是从一组随机的序列里查找,而是从一组排好序的序列里找出某个元素的位置,则可以有更快的算法:由于这个序列已经从小到大排好序了,每次取中间的元素和待查找的元素比较,如果中间的元素比待查找的元素小,就说明“如果待查找的元素存在,一定位于序列的后半部分”,这样可以把搜索范围缩小到后半部分,然后再次使用这种算法迭代。这种“每次将搜索范围缩小一半”的思想称为折半查找(Binary Search)。思考一下,这个算法的时间复杂度是多少?这个算法的思想很简单,不是吗?可是 [编程珠玑] 的4.1节说作者在课堂上讲原创 2021-02-17 09:44:19 · 201 阅读 · 2 评论 -
Ubuntu 20.04Linux C----线性查找&Ubuntu 20.04LinuxJava-----创建线程(无需导包和包含头文件)
有些查找问题要用时间复杂度为O(n)的算法来解决。例如写一个 indexof 函数,从任意的输入字符串中找出某个字母首次出现的位置并返回这个位置,如果找不到就返回-1:#include <stdio.h>char a[]=“hello world”;int indexof(char letter){int i = 0;while (a[i] != ‘\0’) {if (a[i] == letter)return i;i++;}return -1;}int main(vo原创 2021-02-17 09:37:16 · 132 阅读 · 0 评论 -
Ubuntu20.04 Linux C/C++-----归并排序算法&时间复杂度分析&编译过程简化
插入排序算法采取增量式的策略解决问题,每次添一个元素到已排序的子序列中,逐渐将整个数组排序完毕,它的时间复杂度是O(n2)。下面介绍另一种典型的排序算法--归并排序,它采取分而治之(Divide-and-Conquer)的策略,时间复杂度是Θ(nlgn)。归并排序的步骤如下:Divide: 把长度为n的输入序列分成两个长度为n/2的子序列。Conquer: 对这两个子序列分别采用归并排序。Combine: 将两个排序好的子序列合并成一个最终的排序序列。在描述归并排序的步骤时又调用了归并排序本身,可原创 2021-02-17 09:28:54 · 288 阅读 · 0 评论 -
Ubuntu20.04 Linux C/C++----插入排序&时间复杂度分析
#include <stdio.h>#define LEN 5int a[LEN] = { 10, 5, 2, 4, 7 };void insertion_sort(void){int i, j, key;for (j = 1; j < LEN; j++) {printf("%d, %d, %d, %d, %d\n",a[0], a[1], a[2], a[3], a[4]);key = a[j];i = j - 1;while (i >= 0 &&am原创 2021-02-17 09:11:10 · 229 阅读 · 0 评论 -
Ubuntu 20.04Linux GCC编译C++程序(一步完成)非运行exe文件和./a.out
通过前面章节的学习我们知道,GCC 编译器并未提供给用户可用鼠标点击的界面窗口,要想调用 GCC 编译器编译 C 或者 C++ 程序,只能通过执行相应的 gcc 或者 g++ 指令。本节将重点给大家讲解如何编写 gcc 或者 g++ 指令来编译 C、C++ 程序。注意,在前面的讲解中我们一直提到“编译”C、C++ 程序,其本意指的是将 C、C++ 代码转变为可执行程序(等同于 Windows 系统中以 .exe 为后缀的可执行文件)。但实际上,C 或者 C++ 程序从源代码生成可执行程序的过程,需经历原创 2021-02-16 09:44:39 · 970 阅读 · 2 评论