算法&知识点总结
文章平均质量分 63
算法使用以及一些知识点汇总
*Summer
这个作者很懒,什么都没留下…
展开
-
C语言中qsort函数的使用
qsort函数是C语言的stdlib.h库中包含的一个可以用来排序的函数,下面用一个例子来说明其的使用方法:#include<stdio.h>#include<stdlib.h>int cmp(const void *a,const void *b){ return *(int *)a-*(int *)b; //这是从小到大排序, //若是从大到小改成:return *(int *)b-*(int *)a; }int main(){ int i,n,a[100原创 2021-08-01 21:45:44 · 187 阅读 · 0 评论 -
C语言的<limits.h>库
INT_MAX与INT_MIN是C语言库#include<limits.h>库中定义的宏,分别代表int类型所能表示的最大值与最小值C语言的一个优良传统是标量类型(整数是典型的标量类型)要以一种对每个计算机体系结构都很自然的方式表示。例如,基本整型 int 的弹性就很大,它希望自己的大小等于一个机器字长:在 16 位环境中,机器字长为 16 位,int 占用 2 个字节;在 32 位环境中,机器字长为 32 位,int 占用 4 个字节;在 64 位环境中,机器字长为 64 位,i原创 2021-07-31 23:24:53 · 681 阅读 · 0 评论 -
经典排序算法汇总
一.快速排序快速排序的主要是基于分而治之的思想,它通过选取一个枢轴pivot,以其为中枢,经过一次排序把整个数组分成两个部分,左边的子表全部为小于pivot的值,右边的子表全部为大于pivot的值,然后再利用递归把左边部分、右边部分分别进行排序,从而达到对整个数组的排序,枢轴的选取有多种方式,通常选取待排序表的第一个元素的值作为枢轴的值。具体算法步骤如下:(1)选择待排序表的第一个元素a[0]的值作为枢轴pivot的值,同时设置两个指针low和high分别指向 表的上界和下界(2)从表的最右侧原创 2021-07-27 23:59:10 · 210 阅读 · 0 评论 -
C语言做题知识点汇总
(1)字符0 到 9 可以通过减去字符 ‘0’ 获得数值,那是因为ASCII码中,字符0到9对应的ASCII值与字符 ’0‘ 的ASCII差值即为数值,比如字符 ‘5’ 对应的ASCII码值为53,字符 ‘0’ 对应的ASCII码值为48,‘5’ -‘0’ 可以等价为 53 - 48 = 5,所以字符类型的数字转换为数值类型的要先对其减去’0‘。(2)*(a+j*n+i)表示的即a[j][i],表示在a[j][i]前面有j行元素,每行有n列元素,所以前面有j乘以n个元素,再加上本行有i个元素(3)常用原创 2021-07-17 17:19:51 · 1051 阅读 · 5 评论 -
zzulioj1151: 大整数加法 (附memset函数用法)
输入输入数据有多组。首先输入一个整数T,表示有T组输入。每组输入两个大整数,并用空格隔开。每个整数最多1000位。没有负数输入。输出对于每组输入,输出两个整数的和,单独占一行。样例输入 Copy21 2112233445566778899 998877665544332211样例输出 Copy31111111111111111110代码#include<stdio.h>#include<string.h>int main(){ int i,j,k,n原创 2021-06-01 21:49:22 · 945 阅读 · 0 评论 -
BF算法
BF算法BF算法,即暴力(Brute Force)算法,是一种模式匹配算法,但也可以应用在其他场合,它的核心思想就是从主串S的第一个字符与子串T的第一个字符进行匹配,若相等,则继续比较主串S的第二个字符和 子串T的第二个字符;若不相等,则比较主串S的第二个字符和子串T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法思路直观简明,但匹配失败时主串指针总是回溯到 i - j +2位置,因此算法的时间复杂度高。BF算法基本步骤(下标从1开始)模式匹配不一定是从主串的第一个位置开始,可以指定主串原创 2021-05-22 17:20:32 · 3852 阅读 · 0 评论