
C++基础算法教程
文章平均质量分 58
专业针对C++算法,以理论为基础,以实战为线索,帮助广大C++编程学习者理解C++算法,坚持深入教学,坚守远大信念
沾花把玖
素有凌云志,我为代码狂
展开
-
C++基础算法教程|文件操作
欢迎来到沾花把玖的C++算法课堂!文件和结构体——文件操作C++语言提供了一批用于文件操作的标准函数,基本操作如下:(1)打开文件,将文件指针指向文件,决定打开文件类型;原创 2022-01-20 20:44:58 · 1125 阅读 · 3 评论 -
C++基础算法教程|高精度算法
欢迎来到沾花把玖的C++算法课堂!高精度算法利用计算机进行数值计算,有时会遇到这样的问题:有些计算要求精度高,希望计算的数的位数可达几十位甚至几百位,虽然计算机的计算精度也算较高了,但因受到硬件的限制,往往达不到实际问题所要求的精度。我们可以利用程序设计的方法去实现这样的高精度计算。高精度计算中需要处理好以下几个问题:1.数据的接受方法和存贮方法当输入的数很长时,可采用字符串的方式读入,这样可以输入位数很长的数,利用字符串函数和操作运算,将每一位数取出,存入数组中。void ini原创 2022-01-08 19:59:50 · 489 阅读 · 0 评论 -
C++基础算法教程|C++常用库函数
欢迎来到沾花把玖的C++算法课堂!一、头文件:cstring1.void *memcpy(void *desk,const void *src,sizet count);功能:从src拷贝count个字节到dest。2.void *memset(void *dest,const void *src,原创 2022-01-26 18:25:53 · 1149 阅读 · 0 评论 -
C++基础算法教程|数据排序(6)
欢迎来到沾花把玖的C++算法课堂!数据排序——归并排序1.基本思想:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合成成一个有序表,称为二路归并。2.排序过程:说明:归并排序主要分两大步:分解、合并。合并过程:比较a[i]和a[j]的大小,若a[i]<=a[j],则将第一个有序表中的元素a[i]复制原创 2022-01-23 22:11:22 · 567 阅读 · 0 评论 -
C++基础算法教程|数据排序(5)
欢迎来到沾花把玖的C++算法课堂!数据排序——快速排序1.基本思想:快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将待排记录分割成独立的两个部分,其中一个部分记录的关键字均比另一部分记录的关键字小,则可分别对这两个部分记录继续排序,以达到整个序列有序。假设待排序的序列为{a[l],a[l+1],a[l+2],...,a[r]},首先任意选取一个记录(通常可以选择中间一个记作为支点或枢轴),然后重新排序其余记录,将所有关键字小于它的记录都放在左子序列中,所有关键字大于它的记录都放原创 2022-01-21 20:32:28 · 187 阅读 · 0 评论 -
C++基础算法教程|数据排序(4)
欢迎来到沾花把玖的C++算法课堂!数据排序——桶排序1.基本思想:若待排序的值在一个明显有限范围内(整型)时,可设计有限个有序桶,将待排序的值装入对应的桶(当然也可以装入若干个值),桶号就是待排序的值,顺序输出各桶的值,就得到了有序的序列。2.排序过程:例题:【题目描述】输入n个0~100之间的整数,从小到大排序输出。【样例输入】53 1 6 8 5【样例输出】1 3 5 6 8以下是代码:void bksort(float A[],int l,int h){ int原创 2022-01-09 22:03:37 · 519 阅读 · 0 评论 -
C++基础算法教程|数据排序(3)
欢迎来到沾花把玖的C++算法课堂!数据排序——冒泡排序1.基本思想:以n个人站队为例,从第1个开始,依次比较相邻的两个是否逆序对(高在前,矮在后),若逆序就交换这两人,即第1个和第2个比,若逆序就交换这两人,即第2个和第3个比,若逆序就交换这两人,即第3个和第4个比,......,直到n-1和n比较,经过一轮比较后,则把最高的人排到最后,即将最高的人像冒泡一样逐步冒到相应的位置。原n个人的排序问题,转换为n-1个人的排序问题。第二轮比较以此类推,直到进行n-1轮比较后,队列为有序队列。2.动原创 2022-01-08 19:28:26 · 884 阅读 · 0 评论 -
C++基础算法教程|数据排序(2)
欢迎来到沾花把玖的C++算法课堂!数据排序——插入排序首先,动图演示:原创 2022-01-07 22:06:34 · 719 阅读 · 0 评论 -
C++基础算法教程|数据排序(1)
欢迎来到沾花把玖的C++算法课堂!数据排序——选择排序1.基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前,直到全部待排序的数据元素排完。2.排序过程:初始序列 [13 38 65 97 76]第一趟排序后 13 [38 65 97 76]第二趟排序后 13 38 [65 97 76]第三趟排序后 13 38 65 [97 76]第四趟排序后 13 38 65 76 [97]第五趟排序后 13 38 65 76 97结束排序原创 2022-01-05 22:28:34 · 1203 阅读 · 0 评论 -
C++基础算法教程|字符(char)和字符串(string)的操作方法总结
字符的输入输出方法:1.scanf(),printf()char c;scanf("%s",c);//输入printf("%c",c);//输出2.cin,coutchar c;cin>>c;//输入cout<<c;//输出3.getchar(),putchar()int c;c=getchar();//相当于char c;scanf("%s",c); putchar(c);//相当于printf("%c",c); 需要c是字符才能输出,不能原创 2021-12-30 20:27:29 · 640 阅读 · 0 评论 -
C++基础算法教程|C,C++,C#头文件大全
C,C++头文件:#include<assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <fstream.h> //文件输入/输出#include <iomanip.h> //参数化输入/输出#include<iostream原创 2021-12-25 20:50:39 · 973 阅读 · 0 评论