![](https://img-blog.csdnimg.cn/20200116204549294.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C
c语言学习笔记以及数据结构学习笔记
筑梦新时代
这个作者很懒,什么都没留下…
展开
-
浙大数据结构:图的表示
此为本人学习笔记,不具备参考价值,禁止任何形式的传播Graph and its representationsGraph is a data structure that consists of following two components:A finite set of vertices also called as nodes.A finite set of ordered pa...原创 2019-06-04 13:57:45 · 234 阅读 · 0 评论 -
浙大数据结构:AVL树
AVL tree is a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees cannot be more than one for all nodes.4 casesa) Left Left CaseT1, T2, T3 and T...原创 2019-05-21 20:46:22 · 204 阅读 · 0 评论 -
浙大数据结构:并查集 Union-Find
Disjoint Set (Or Union-Find) | Set 1 (Detect Cycle in an Undirected Graph)#define MAXN 1000 /* 集合最大元素个数 */typedef int ElementType; /* 默认元素可以用非负整数表示 */typedef int SetName;...原创 2019-05-30 21:33:13 · 208 阅读 · 0 评论 -
浙大数据结构:哈夫曼树
传送门:Huffman Coding | Greedy Algo-3// C program for Huffman Coding #include <stdio.h> #include <stdlib.h> // This constant can be avoided by explicitly // calculating height of Huffma...原创 2019-05-29 20:42:13 · 191 阅读 · 0 评论 -
C语言进阶:位运算
工具:二进制十六进制转化计算器1.按位运算& 按位的与| 按位的或~ 按位的非^ 按位的异或<< 左移>> 右移按位的与&两个位都为1时,结果为1,否则为0应用:(1)让某一位为零或某些位为0:x & 0xFE(0xFE是1111,1110,所以x无论是多少(2)是,其末尾与之与运算都为0)取一个数的一段按位的或|两个位...原创 2019-05-13 10:22:12 · 176 阅读 · 0 评论 -
HIT《C语言程序设计精髓》:动态内存分配
1.动态内存两种内存:栈内存和堆内存栈内存由函数控制,自动分配和释放内存。一般只有几Mb。堆内存由用户自己申请和释放。一般有几个G。2.堆内存申请释放函数在C的文档中,关于realloc函数是这样说的The reallocation is done by either:a) expanding or contracting the existing area pointed t...原创 2019-05-13 10:22:03 · 265 阅读 · 0 评论 -
HIT《C语言程序设计精髓》:指针在函数中的作用域
指针通常用于函数中多个值的返回,而指针在函数内,其不被函数作用域所限制的只有通过指针来修改其指向的内存,而通过改向其指针方向是受到作用域的限制的。也就是说例如在函数中修改指针指向只在函数内有效,而在主函数中并没有被修改指向,但是在函数中修改指针指向的内存的值则是可以的。#include <stdio.h>void fun(int *p);int main(){ int i[]...原创 2019-05-13 10:21:42 · 734 阅读 · 0 评论 -
HIT《C语言程序设计精髓》:指针与二维数组,指针数组
在一维数组中,如char a[10];这里a的意思是这个数组的首地址。所以定义一个指针int *p=a;就相当于int *p=&a[0]; 而a[1]也就等价于*(a+1)或者*(p+1),这里的1不是给地址加上一个1,也不是给地址加上一个字节,而是给地址加上一个基类型的内存单元。这里p的基类型是int,所以就是加上四个字节。二维数组指针数组单纯用二维数组来保存多行字符串...原创 2019-05-13 10:21:53 · 174 阅读 · 0 评论 -
HIT《C语言程序设计精髓》:字符串常量和变量,字符数组和字符指针
1、字符常量 用双引号括起来的一串字符是字符串常量,系统自动为其添加空字符'\0'(ASCII码为0,'0'的ASCII码为'48') e.g. printf("How are you"); 2、字符串变量 1、字符数组 char str[]="china"; 这里str和字符串内容一起被保存在栈内存或静态内存中,所以字符串的内容时可以修改的,但是str是个变量名,它的不可...原创 2019-05-13 10:21:15 · 547 阅读 · 0 评论 -
const和指针笔记
int const *p;const int *p;//不能通过*p对p指向的地址储存的值进行更改.通过指针不可修改int a=1;int *const p=&a;*p=2//errorint *const p;//p is const, 指针p是一个常量,所以p的值不能被修改,即p储存的地址不能被改变。这里可以这样,const再指针声明符*的前面,因而指针p是一个常量,...原创 2019-04-01 20:35:47 · 61 阅读 · 0 评论