C
程序猿的探索之路
走好人生中的每一步路!
展开
-
边松弛法解决单源最短路
边松弛法空间复杂度 O(M) 时间复杂度O((M+N)logN)适用于稠密图(顶点一定的情况下,边越多越划算)存在负权边的情况下,不能算出最短路径注释:N:图中顶点个数M:图中边的个数...原创 2021-01-30 14:28:20 · 175 阅读 · 0 评论 -
memset详解
第一:memset函数按字节对内存块进行初始化,所以不能用它将int数组初始化为0和-1之外的其他值(除非该值高字节和低字节相同)。第二:memset(void *s, int ch,size_t n);中ch实际范围应该在0~~255,因为该函数只能取ch的后八位赋值给你所输入的范围的每个字节,比如int a[5]赋值memset(a,-1,sizeof(int )*5)与memset(a,511,sizeof(int )*5) 所赋值的结果是一样的都为-1;因为-1的二进制码为(11111111 1原创 2021-01-27 22:07:08 · 4150 阅读 · 0 评论 -
再谈——函数内无处不在的“栈”(程序语句在内存中是以栈的形式存储的)
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main(){ int n[10]={1,2,3,4,5,6,7,8,9,10}; int i=0; while(i<=9) { printf("%d %d\n",n[i++],n[i++]); }}原创 2021-01-27 18:39:03 · 116 阅读 · 0 评论 -
c/c++中二维数组在内存中的存储
#include<stdio.h>#include<string.h>int main(){ int num[10][10]; for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { printf("%x ",&num[i][j]); } printf("\n"); } for...原创 2021-01-25 19:00:34 · 1111 阅读 · 0 评论 -
malloc 挑战 栈的存储方式
第一次运行第二次运行第三次运行结论:void* 类型变量的地址不符合栈的存储方式。修改指针类型后第一次运行第二次运行仍然不符合栈的存储方式原创 2021-01-24 11:51:42 · 127 阅读 · 0 评论 -
const 的作用
原创 2021-01-24 11:03:34 · 143 阅读 · 0 评论 -
static相关的一些编程心得
1. 使用static声明变量 :避免栈中数组越界导致不可预知错误#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main(){ static int queue[100]; static int a[10]; static int b[10]; memset(queue,0,sizeof(queue)); ...原创 2021-01-23 23:22:03 · 182 阅读 · 0 评论 -
c中数组越界Process returned -1073741819 (0xC0000005)
数组越界会报错:Process returned -1073741819 (0xC0000005)debug:应该检查数组下标在何处超越定义的数组大小。原创 2021-01-23 19:53:47 · 2246 阅读 · 0 评论 -
函数scanf()和gets()的区别
#include<iostream>#include<string.h>using namespace std;int main(){ char a[101],s[101]; int i,len,mid,next,top; gets(a);// scanf("%s",&a); cout<<a<<endl; char ch; ch=getchar(); if(ch=='\n') .原创 2021-01-22 15:08:43 · 164 阅读 · 0 评论 -
c中int和long long的区别
注意:两位有 00=0 01=1 10=2 11=3 四个数,2^2-1=4-1=3(10进制)=11(二进制)int 4byte=32位 第一位符号位,即2^31-1=1111111 11111111 11111111 11111111(二进制)=2147483648-1(十进制)同理: long long (int) 8byte=64位。...原创 2021-01-21 21:27:11 · 252 阅读 · 0 评论 -
一谈——一篇文章揭秘函数中变量在内存中的存储
#include<stdio.h>int main(){ int i; printf("sizeof(i)=%d \n",sizeof(i)); int a[10]; printf("sizeof(a[i])=%d\n",sizeof(a[1])); printf("&a[10]=%d\n",&a[10]); for (i = 0; i <= 10; ++i)//死循环 { a[i] = 0; .原创 2021-01-21 19:54:37 · 258 阅读 · 0 评论 -
就桶排和冒泡为例说说算法的时间复杂度
关于桶排时间复杂度的问题,计算的时候其实要看 m和n有没有关系,m是1~1000,那最外层就是1000次,里面哪个循环要判断通里面是否存取了数据,里面存的是频率,频率和最外层也就是1~1000有没有关系,此时,里层循环共需要多少次,n次。所以时间复杂度是m+n。冒泡就不一样了,冒泡每一趟需要n次比对,需要m趟,所以是m*n,也就是n方。我们假设计算机运行一行基础代码需要执行一次运算。int aFunc(void) { printf("Hello, World!\n"); ..原创 2021-01-20 14:12:51 · 124 阅读 · 0 评论 -
codeblocks修改背景颜色
复制以下代码到default.conf替换掉C:\Users\yourusername\AppData\Roaming\CodeBlocks目下下的default.confSettings>Editor>Syntax Highlighting在colour theme中选择自己喜欢的,比如:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CodeBlocksConfig version="1".原创 2021-01-13 11:15:41 · 3374 阅读 · 2 评论 -
关于算法_c_c++_程序设计等问题尽可以留言,看到了会解答
我会将留言问题的解决方案更新在面板上面。eg:问题一 : xxx答:。。。原创 2020-12-17 10:44:31 · 142 阅读 · 3 评论 -
螺旋矩阵之(二) 进阶版的螺旋矩阵
更新于2020.6.22 20:53对于一些同学问我的问题,我做出回答问题一:n*m矩阵怎么写?#include<stdio.h>#include<stdlib.h>#include<string.h>int num[20][20];int main() { int N; scanf("%d",&N); while(N--) { int n,m; scanf("%d %d",&n,&m); int i,j;原创 2020-06-23 17:35:44 · 412 阅读 · 0 评论 -
c++\c 中 getcwd()函数:取得当前的工作目录(working directory)
用 c/c++ 获取当前工作目录的方法:getcwd首先我们来看一下该函数的声明:#include<unistd.h>char* getcwd(char* buffer, size_t size);用法介绍:参数说明:getcwd 方法会将当前工作目录(working directory)的绝对路径复制到参数 buffer 所指的内存空间中,而参数 size 是 buffer 所指的空间大小。第一种用法: 基于上面的解析我们很容易得到第...原创 2020-05-24 10:40:21 · 4280 阅读 · 0 评论 -
螺旋矩阵之(一)c语言简单实现及基本构思( 由内向外螺旋矩阵(逆序螺旋矩阵)、由外向内螺旋矩阵(正序螺旋矩阵)、字母螺旋矩阵、n阶螺旋矩阵、N*M | n*m阶螺旋矩阵等)
对于螺旋矩阵,说实话,我也是第一次接触。哈哈,刚开始的时候真心不知道怎么转圈圈,曾经想开一个二维方向数组(int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};)//利用这个神奇的家伙可以配合二维存储数组num[ ][ ],光荣的实现右下左上的全图搜索,如果把num数组存储空间当作一个图的话,哈哈。不过很可惜,无论是用递归回溯还是直接硬怼,都不可能转着...原创 2019-03-17 10:09:33 · 6439 阅读 · 25 评论 -
详细喷喷数组和指针
指针的内存布局先看下面的例子:int *p;在32 位系统下,不管什么样的指针类型,其大小都为4byte。可以测试一下sizeof(void *)。int *p = NULL 和*p = NULL 有什么区别?我们先看下面的代码:int *p = NULL;这时候我们可以通过编译器查看p 的值为0x00000000原创 2017-07-13 17:24:20 · 346 阅读 · 0 评论