
c语言
文章平均质量分 61
Stark_JC
这个作者很懒,什么都没留下…
展开
-
C语言笔记
指针相关sizeof和strlen的区别:字符指针字符指针创建用指针进行字符修改指针大小指针运算与自增/自减运算符结合二维数组,指针数组,数组指针函数指针与指针函数typedef结构结构声明->运算符与++、*等结合使用联合联合的大小位字段输入与输出%d,有符号整型数,字节数看机器,本机4字节printf...原创 2018-03-03 14:41:35 · 447 阅读 · 0 评论 -
大数运算
乘法数组保存值,最好逆向保存。一个数的第i 位和另一个数的第j 位相乘所得的数,累加到结果的第i+j 位上。这里i, j 都是从右往左,从0 开始数。ans[i+j]=a[i]∗b[j];ans[i+j]=a[i]∗b[j];ans[i+j] = a[i]*b[j];数组里保存原始值,最后再处理进位。例题描述: 求2^N的值,其中512<=N<=1024。...原创 2018-09-16 21:15:47 · 314 阅读 · 0 评论 -
回溯法
回溯法一般思路:void func(层数){ if(满足结束条件){ 输出; } else{ for i in 当前层数可行解{ func(层数+1); } }}n皇后问题代码#include "stdafx.h"#include <vector&原创 2018-09-16 21:15:31 · 427 阅读 · 0 评论 -
贪婪算法
贪婪算法huffman树最短路径算法 dijkstra贪婪算法在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择,贪心策略使用的前提是局部最优能导致全局最优。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无...原创 2018-09-16 21:15:11 · 527 阅读 · 0 评论 -
动态规划
动态规划走格子问题最长公共子序列例题 hero shoot eagle动态规划一般解法: 1. 利用最优子结构定义一个关于解的目标值的递归方程,采用“自底向上”而非使用递归时的“自顶向下”。 2. 将每个子问题的解保留,需要时可以查找。走格子问题问题:从左下角走到右上角,每步只能往上、右方向,每个格子有值,求到终点值最大。思路: 假设矩阵为如下形...原创 2018-09-08 20:19:10 · 502 阅读 · 0 评论 -
OJ 正则二叉树(使用递归)
问题给定一颗二叉查找树,其中结点上存储整数关键字,请你判断它是否一棵正则二叉树,即每个内部结点均有两个子结点。输入第一行是测试样例数 T(T <= 20),接下来是 T 个测试样例。对于每个测试样例,第一行是二叉树结点个数 n (n <= 30),第二行是一个含有n个关键字的序列,表示二叉树的先序遍历结果。保证关键字均不相同。输出如果二叉查找树是正则的,则输...原创 2018-09-08 19:22:39 · 3626 阅读 · 0 评论 -
OJ(while+cin.get()判断结束)
今天要记录一道看起来十分简单的OJ题目,但开始对于cin的一些操作忘得差不多了,没做出来,故记下来给自己提个醒。描述给出包含N个单词的一行输入,输出N行。第一行和输入一样。每次输出过一行后,这一行的第一个单词在下一行被放到最后。输入包含N个单词的字符串,单词以一个空格分开。N不在输入中给出,你需要计算单词的数量来获得。字符串包含的字符数小于100。输出输出N行。...原创 2018-09-01 17:10:18 · 2183 阅读 · 0 评论 -
OJ(string截取与初始化)
Description给定一个正整数,在中间添加一个加号,要求得到的加法式子的结果最小。Input输入的第一行是一个整数T(T <= 60),代表输入数据的组数。每组数据是一个整数N,N至少2位,最多8位,且不含0。Output对于每组数据,输出可能得到的最小和。ExampleInput3 19 217 5123Output1...原创 2018-09-01 17:10:03 · 337 阅读 · 0 评论 -
OJ(getline自定义分隔符)
描述输入是某电话公司的若干客户姓名及电话号码,中间用逗号分隔,然后是若干要查询的客户姓名,输出是这些查询的客户姓名及其电话。输入第一行是一个正整数n(不超过100000),表示某电话公式的客户个数,然后是n个客户,每个客户占一行,由一个字符串构成的姓名和一个电话号码组成,中间用逗号分隔,每个姓名的长度不超过45。接下来是一个正整数m,然后是m个需要查询的客户姓名,每个姓名占一行。...原创 2018-09-01 17:09:46 · 1948 阅读 · 0 评论 -
数据结构之排序(1)——插入排序
直接插入排序不带哨兵带哨兵拓展元素为结构时折半插入排序希尔排序各算法复杂度表插入排序主要包括三个:直接插入排序、折半插入排序和希尔排序。基本思想都是: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。下面依次进行讲解并编程实现。直接插入排序主要思想: 1. 循环i从1~n-1,每次循环执行步骤2-4。 2. 查找arr[i]在arr[原创 2018-04-11 16:34:36 · 739 阅读 · 0 评论 -
c++ 大小写转换
char 字符大小写转换#include <iostream>using namespace std;int main(){ char c = 'e'; c = toupper(c);//并不会直接覆盖 cout << c; system("pause"); return 0;}string 字符串大小写转换#i...原创 2018-09-16 21:17:35 · 586 阅读 · 1 评论