
c/c++
文章平均质量分 76
知识点,函数等
努 力 小 子
憨憨一个
展开
-
(char*)malloc(sizeof(char))有什么用,为什么要这么写——简单介绍指针
计算最长字符串长度输入n (n<10)个字符串,输出其中最长字符串的有效长度。要求自定义函数 Int max_len ( char *s[],int n),用于计算有n个元素的指针数组s中最长的字符串的长度。法一:思路:设置一个指针数组与一个二维数组,使指针数组指向二维数组#include<stdio.h>#include<string.h>int max_len(char*s[],int n){ int i,j=0; for(i=0;i<n;i++)原创 2021-01-01 15:17:46 · 21871 阅读 · 2 评论 -
使用分支限界法解决单源最短路径问题。
#include<iostream>#include<cstdio>#include<queue>using namespace std;typedef struct ArcCell{ int weight;//保存权值 weight=1说明一开始就输入了这条边,=0说明这两个点之间没有边 int min_length;//存储最短路径长度}ArcCell,AdjMaxtrix[100][100];typedef struct{原创 2020-05-30 11:19:31 · 14420 阅读 · 7 评论 -
01背包问题回溯法
#include<iostream>#include<cstring> using namespace std;int n;double c;double v[100];double w[100];double cw = 0.0;double cv = 0.0;double MAX_put = 0.0;double ratio[100];//比率 int order[100];int put[100];void knapsack()//按比值进行排序原创 2020-05-21 20:26:38 · 867 阅读 · 0 评论 -
使用贪心算法解决最小生成树问题。
使用贪心算法解决最小生成树问题。#include<iostream>#include<algorithm>using namespace std;const int MAX=100;const int MAX_length=10000;int n,m;int G[MAX][MAX];//相邻两边的长int d[MAX];bool V[MAX]={false};int prim(){ int sum=0; V[1]=true; d[1]=0; for(i原创 2020-05-21 15:54:26 · 2649 阅读 · 0 评论 -
矩阵鞍点
Description输入一个正整数n(1<= n <= 6)和n阶方阵a中的每一个元素,如果找到a的鞍点(鞍点的元素值在该行上最大,在该列上最小),就输出它的下标,否则输出“NO”(设a最多只有一个鞍点)。Input多组测试数据,每组输入一个正整数n,和n行n列的整数,每一行回车结束OutputSample Input31 2 34 5 67 8 941 2 3...原创 2018-11-17 12:45:03 · 5103 阅读 · 4 评论 -
青蛙跳台阶问题(思路与蜂窝问题一致)
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21这道题确实不难,和斐波拉契题只有初始值不同的区别而已,但如何发现这一点却难住了我很久。后来想想,青蛙的最后...原创 2020-03-06 07:15:50 · 347 阅读 · 0 评论 -
递归算法
直接或间接调用函数本身,则该函数称为递归函数。舍得舍得,有舍才有得。递归递归,有递才有归。递归,先确定终止条件或者说是出口。再根据不同的条件进行变化。举一个简单例子Fibonacci具体:int fib(int n){ if(n<=1)return 1; return fib(n-1)+fib(n-2);}...原创 2020-03-05 14:50:54 · 208 阅读 · 0 评论 -
为什么一定情况下scanf比cin快
有时候发现oj时完全没错的代码死活过不了,超时超时搞得我头炸掉,而且我敢保证代码逻辑等的都是没有问题的,就是超时。当时只想骂人,后来发现这是我在知识上的缺失。scanf是用指针操作的,没有类型安全机制。比如一个char类型数据你就可以用%f获得输入,而不会报错,但在运行时会出现异常。cin是自动判断你的变量类型,比如一个char数据只能用默认的char方法取数据。标准流对象cin/cout为...原创 2020-03-02 19:38:39 · 1929 阅读 · 0 评论 -
如何一步步创建链表
①.结构体结构体中分为data(数据域)和next(指针)struct node { int number; char str[10];//这里的我随意设置的,想要什么类型自己可以设置 struct node *next;}; //struct结构体②.创建一个全空链表struct node *head,*tail,*p; //头尾和p指针head = tail =NULL;...原创 2020-03-02 19:17:11 · 544 阅读 · 0 评论 -
C语言合法标识符
Description输入一个字符串,判断其是否是C的合法标识符。Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。Output对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。Sample Input312ajffi8x_aff ai_2Sa...原创 2018-11-18 10:29:55 · 1440 阅读 · 0 评论 -
C语言中%c与%s的区别与划分
%c格式对应的是单个字符,%s格式对应的是字符串。例:char a;char b[20];scanf("%c",&a); //只能输入一个字符。scanf("%s",b); //可以输入一串不超过20字符的字符串。%c对应类型为char, %s对应类型为char , 即字符串.用作输入时, 二者参数都要传char型. %c输入函数只会对一个字节空间赋值. 而%s会一直赋值,直到输入中遇...原创 2018-11-10 17:25:18 · 128569 阅读 · 12 评论 -
strcpy和strcmp——调用库函数快速操作字符数组
复制strcpy:char a[10],b[10];strcpy(a,b);将b复制到a,即a=b。比较strcmp:char a[10],b[10]strcpy(a,b);若a=b返回0,a>b返回正数,a<b返回负数大小比较是从前到后一个个比较过去的,如果相同就往后直到不同或比较完,如果不同立即返回结果,比较的是字符的ASCII码值。...原创 2020-03-01 16:43:35 · 429 阅读 · 0 评论 -
调用max函数求两个数中较大值
c++和python中求较大值的函数为max(),如max(a,b)返回a,b中的更大值。Java中函数为Math.max()原创 2020-02-29 11:49:38 · 9041 阅读 · 0 评论 -
c++怎么保留小数位数
#include //保留小数点后n位cout << setiosflags(ios::fixed) << setprecision(n)//保留n位有效数字cout << setprecision(n)原创 2020-03-01 15:22:58 · 5215 阅读 · 1 评论 -
sort函数——利用函数实现快速排序c++
有时候刷题常常会用到排序,每次都要从头写起的话太麻烦了,就找到了sort函数。注:sort函数默认从小到大排序如果想要指定排序顺序呢?sort( , , )第三个空填入less<>()或是greater<>()less<数据类型>()//从小到大排序greater<数据类型>()//从大到小排序使用方法1数组:int a[10];...原创 2020-01-27 13:57:04 · 503 阅读 · 0 评论