- 博客(12)
- 收藏
- 关注
转载 ACM学习路线
初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra)(poj1860,poj3259,poj1062
2020-05-30 19:54:14
330
1
原创 排序
排序一、选择排序选择排序有简单选择排序和堆排序(对选择排序的改进)①简单选择排序从未排序的序列中,选出最小的元素(先以该未排序序列的首个元素作为min)和该未排序序列的首个元素进行交换。再在剩下的未排序的序列重复上述步骤直到该未排序序列的长度为1//先写一个交换元素的函数//因为我们用的是数组进行存储,则传入函数中的是一个指针便于访问#include<stdio.h>#include<math.h>#include<stdlib.h>void swa
2020-05-20 19:59:40
139
原创 素数
一、素数的判断方式如果一个数被2到该数的平方根(平方根选用double类型,然后用不大于该double类型的整数去取即可)除得的余数都不为0,该数为素数.二、素数的题目①C教材P128 4将10到20之间的全部偶数分解为两个素数之和先写个判断一个数是否是素数的函数int isprime(int c){//c是所判断的数的形参 int i;//i用来进行迭代 double k;//用来求平方根 并用来与i比较 int isprime=1; for(i=2;i<=k;i++){
2020-05-20 17:24:51
396
原创 动态规划
一、基础动态规划思想的引入–兔子问题斐波那契数列F1=1F2=1Fn=Fn-1+Fn-2有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总对数是多少求斐波那契前n位数(打印出来或者存储在数组里面)#include<stdio.h>#include<math.h>#include<stdlib.h>#include<string.h&
2020-05-20 16:55:58
106
原创 栈空间和堆空间大小
栈空间和堆空间大小一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。3、全局区(static):也叫静态数据内存空间,存储全局变量和静态变量,全局变量和静态变量的存储是放一块的,初始化的全局变量和静态变量放一块区域,没有初始化
2020-05-18 10:19:55
1102
转载 函数递归
函数的优点与注意:1、可以使结构清晰,方便维护,2、提高代码使用率,任何人都能调用函数。3注意:代码长度一般不超过100行,超过后不易程序维护递归函数:就是自己调用自己的函数;注意:问题一定要不断缩小;有边界值;有返回段(有返回的过程)int Age2(int n){ if(n==1) { return 10; } return Age2(n-1)+2;}int Sum(int n)//累积求和{ if(n==0) { return 0; } return Sum(n
2020-05-18 10:18:39
110
原创 数据的运算与输入输出
一、运算符和表达式概述一共有七种运算符①算术运算符②赋值运算符③关系运算符④逻辑运算符⑤条件运算符⑥逗号运算符⑦位操作运算符二、算数运算符和算术表达式+ - * / % -- ++ -七种算数运算符浮点数不能进行取余++ --只能用于变量 不能用于常量或者表达式++ --结合方向为从右到左 如-a++或者–a++先进行a++(-负号也是单目运算符)±*/%结合方向从左到右单目运算符优先级高于所有二目运算符、三、赋值运算符分为赋值运算符和复合赋值运算符//赋值运算符=/
2020-05-17 19:56:17
711
转载 四个基本算法
本篇文章重点描述了C++语言的四种排序算法,基本的思想如下:1.插入排序说明:将第2个元素到最后一个元素分别插入到前面已经排好的序列中初始值: 5,4,3,2,1loop1: 4,5,3,2,1(4插入到5的前面)loop2: 3,4,5,2,1(3插入到4的前面)loop3: 2,3,4,5,1(2插入到3的前面)loop4: 1,2,3,4,5(1插入到2的前面)void insertSort(int *arr,int n){int i,j,value;for(i = 1; i &l
2020-05-09 13:53:26
449
转载 关于printf()函数和浮点数
关于printf()函数和浮点数http://www.cnblogs.com/cj695/archive/2011/10/28/2227890.htmlprintf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定...
2020-05-07 14:41:18
338
原创 Scanf的使用
Scanf()函数的使用一、scanf()函数的工作方法scanf("%x%x%x%x%x")中%x称为是转换说明输入:从键盘上得到的字符"%x%x%x%x%x"叫格式串当scanf()函数被调用时 scanf函数从左到右处理()中格式串空白字符(此处定义的空白字符与字符数组中的空字符’/0’不同,专门指在scanf函数中格式串中的字符类型):空格,Table,/n,换页符…但sc...
2020-05-07 13:54:49
507
原创 字符和字符串的应用
1.字符类型字符常量用单引号括起来 如 char ch='A';用双引号括起来的是字符串字符操作字符常量事实上是int而不是char当计算中出现字符或者是存储字符时C语音只是运用到了其代表的整数值(ASCII表)符号字符和无符号字符一个char大小为1字节 8bitunsigned char 0-255signed char -128~127字符处理函数升大写函数scanf...
2020-05-07 13:54:06
246
原创 数字反转
数字反转对于数字反转,普通情况下我们用取余的方式来进行多位数的位序调转字符串但其实我们若在做题的过程中,可以简单地用字符串进行解决。一是解决了如果是浮点数,因为浮点数小数点后面的数字不是精确数字,所以用取余来计算数字有多少位数的方法失效。二是通过建立一个字符数组,可以简单地对数字进行调序。但这种情况下还要题目规定用scanf函数对数字进行输入在这里我们先用普通的顺序结构#inclu...
2020-05-07 13:53:08
606
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人