C语言
文章平均质量分 50
是柳风呀
生存世界微尘里,梦想星辰大海中。
展开
-
初阶数据结构:八大排序算法
直接插入排序 单趟排序:将x插入[0,end]有序区间 一个数组a为: 如果插入一个3 如果插入一个1 int end; int x; while (end >= 0) { if (a[end] > x) { a[end + 1] = a[end]; end--; } else { break; } a[end + 1] = x; } 整个数组排序 void InsertSort(int* a, int n) { assert.原创 2021-11-21 15:40:46 · 652 阅读 · 0 评论 -
顺序表和链表
线性表 线性表是n个具有相同特性的数据元素的有限序列,常见的线性表有:顺序表、链表、栈、队列、字符串… 顺序表原创 2021-11-12 15:01:49 · 388 阅读 · 0 评论 -
数据结构初阶:栈和队列
栈 进入数据插入和删除操作的一段称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。 栈的增删查 StaTest.c #include "Stack.h" void TestStack1() { ST st; StackInit(&st); StackPush(&st, 1); StackPush(&st, 2); StackPush(&st, 3); StackPush(&st, 4); StackPop(&st); St原创 2021-11-12 15:01:22 · 192 阅读 · 0 评论 -
美妙的二叉树
1、如何表示树呢?(如何用代码实现定义结构呢?) 方式一: //假设说明了树的度为N struct TreeNode { int data; struct TreeNode* sub[N]; }; 问题: 1、可能会存在不少空间浪费(由下面可知) 2、可能没有限定树的度为多少 方式2 struct TreeNode { int data; SeqList s; }; 结构相对复杂 方式3(双亲表示法):结构数组存储 最优方法(左孩子右兄弟表示法) 二叉树 二叉树的性质 二叉树的存..原创 2021-11-12 14:58:17 · 589 阅读 · 0 评论 -
自定义类型
结构体的自引用 struct Node { int data; struct Node* next; }; 结构体内存对齐 //变量自身大小 默认对齐数 对齐数 struct S1 // 16 8 8 { double a; char c; int i; }; int main() { //变量自身大小 默认对齐数 对齐数 struct S原创 2021-09-30 11:52:11 · 57 阅读 · 0 评论 -
程序环境和预处理
程序的翻译环境和执行环境原创 2021-09-29 15:10:57 · 74 阅读 · 0 评论 -
文件操作
什么是文件? 文件的打开和关闭 文件的顺序读写原创 2021-09-28 14:08:15 · 151 阅读 · 0 评论 -
动态内存管理
测试malloc函数 int main() { //申请空间 int* p = (int*)malloc(40); if (p == NULL) { return -1; } //开辟成功了 int i = 0; for (i = 0; i < 10; i++) { *(p + i) = i; } //释放空间 free(p); p = NULL; return 0; } 测试calloc函数和realloc函数 #define _CRT_SECURE_NO_W原创 2021-09-26 17:34:21 · 1949 阅读 · 0 评论 -
字符串与字符函数
1.模拟实现strcopy() #include<stdio.h> #include<assert.h> char* my_strcpy(char* dest,const char* src) { assert(dest && src); char* ret = dest; while (*dest++ = *src++) { ; } return ret; } int main() { char arr1[] = "xxxxxxxx原创 2021-09-11 14:40:41 · 66 阅读 · 0 评论 -
指针的进阶
练习题 标题 杨氏矩阵 内容 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求 时间复杂度小于O(N); 参考答题: //思路: //因为右方和下方的数一定比较大 //所以可以从右上角开始找 //如果所找的数比较大,则向下;比较小,则向左,这样就可以找完。 //而且最多只找向下y + 向左x -1 次,(画图即可理解),符合题目要求的0(N) int findnum(int a[][3], int x, int y, int f) {.原创 2021-08-11 12:26:37 · 161 阅读 · 0 评论 -
数据的存储
原创 2021-08-10 13:13:15 · 60 阅读 · 0 评论 -
实用调试技巧
模仿实现库函数:strcpy: char * strcpy(char * dst, const char * src) { char * cp = dst; asser(dst && src); while(*cp++ = * src++) ; return( dst ); }原创 2021-08-09 14:51:38 · 63 阅读 · 0 评论 -
结构体
原创 2021-08-09 14:16:22 · 59 阅读 · 0 评论 -
指针
原创 2021-08-09 14:02:47 · 59 阅读 · 0 评论 -
操作符
原创 2021-08-08 16:26:26 · 50 阅读 · 0 评论 -
数组
原创 2021-08-08 15:56:47 · 58 阅读 · 0 评论 -
函数
原创 2021-08-08 15:42:53 · 60 阅读 · 0 评论 -
分支语句和循环语句
分支语句和循环语句 C语言中的3种结构: 1.顺序结构 2.选择结构 3.循环结构 顺序结构就是从上往下依次执行语句的结构。 选择结构通过分支语句(选择语句)组成,可以用if、switch语句。 循环结构通过循环语句组成,可以用while、for、do while语句。 下面我们从语句开始讲起,一一弄懂他们。 什么是语句? C语言中由一个分号;隔开的就是一条语句。比如我们熟悉的: printf ("hellow world"); 再来个我们不熟悉的: 1+2; 分支语句(选择语句) 单分支结构和多分支结原创 2021-06-16 19:04:14 · 126 阅读 · 0 评论 -
初识C语言
文章思维导图 目录第一个C语言程序 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210607173933268.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU2MjIxNTE4,size_16,color_FFFFFF,t_70)数据类型变量常量转义字符循环语句数组常见关键字#define定义常原创 2021-06-11 12:33:01 · 162 阅读 · 0 评论