c语言
Mrsw
沧笙踏歌,静水流深。
展开
-
二叉树的非递归遍历
二叉树的非递归遍历前序遍历class Solution {public: vector<int> preorderTraversal(TreeNode* root) { vector<int> ret; stack<TreeNode*> st; TreeNode* cur = root; while(cur || !st.empty()) { while(原创 2020-07-19 10:09:18 · 322 阅读 · 0 评论 -
八大排序算法的实现--C语言
八大排序算法的实现–C语言1.插入排序void InsertSort(int* arr, int size){ for (int i = 0; i < size - 1; i++) { int end = i; int tmp = arr[end + 1]; while (end >= 0) { if (arr[end] > tmp) { ...原创 2020-04-16 17:55:19 · 279 阅读 · 0 评论 -
二叉树链表—C语言
二叉树链表头文件Tree.h#pragma once#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType _data; struct BinaryTreeNo...原创 2020-04-10 17:23:33 · 231 阅读 · 0 评论 -
二叉树数组—c语言
二叉树数组—c语言头文件heap.h#pragma once#include<stdio.h>#include<malloc.h>#include<string.h>#include<time.h>typedef struct Heap{ int* a; size_t size; size_t capacity;}Heap;...原创 2020-04-04 12:10:17 · 387 阅读 · 0 评论 -
循环队列—C语言
循环队列主文件#include<stdio.h>#include<assert.h>#include<malloc.h>typedef struct { int* a; int n; int front; int rear;} MyCircularQueue;/** Initialize your data structure here....原创 2020-03-29 23:22:02 · 88 阅读 · 0 评论 -
栈的实现—C语言
栈的实现头文件#pragma once#include<stdio.h>#include<malloc.h>#include<assert.h>// 支持动态增长的栈typedef int STDataType;typedef struct Stack{ STDataType* _a; int _top; // 栈顶 int _capa...原创 2020-03-21 18:45:01 · 123 阅读 · 0 评论 -
队列的实现—C语言
队列的实现头文件#pragma once#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int QDataType;typedef struct QueueNode{ QDataType _data; struct QueueNode* _next;}Queu...原创 2020-03-14 22:09:37 · 92 阅读 · 0 评论 -
双向链表的实现
双向链表的实现头文件#pragma once#include<stdio.h>#include<stdlib.h>typedef int LTDataType;typedef struct ListNode{ int data; struct ListNode* prev; struct ListNode* next;}ListNode;// 创建返...原创 2020-03-06 18:19:44 · 167 阅读 · 0 评论 -
单链表的实现
单链表的实现头文件#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int SLTDateType;typedef struct SListNode{ SLTDateType data; struct SListNode* next;}SListNode;// 动态申...原创 2020-02-11 20:02:08 · 79 阅读 · 0 评论 -
顺序表的实现
顺序表的实现头文件#pragma once#include<stdio.h>#include<assert.h>#include<stdlib.h>typedef int SLDataType;typedef struct SeqList{ SLDataType* array; // 指向动态开辟的数组 size_t size; // ...原创 2019-12-26 21:35:25 · 85 阅读 · 0 评论 -
文件
文件文件指针FILE* pf;//文件指针变量定义的pf是一个指向FILE类型数据的指针变量,通过文件指针变量能够找到与它关联的文件。文件的打开和关闭FILE* fopen(const char* filename, const char* mode);int fclose(FILE* stream);文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。打开方式如下:“r”...原创 2019-11-25 13:02:47 · 200 阅读 · 0 评论 -
动态内存管理
动态内存管理mallocvoid* malloc(size_t size);malloc函数向内存申请一片连续可用的空间,并返回指向这块空间的指针。如果开辟成功返回一个指向开辟好空间的指针,否则返回一个NULL指针,所以对于malloc的返回值一定要做检查。#include<stdio.h>#include<stdlib.h>int main(){ int ...原创 2019-11-20 17:44:15 · 92 阅读 · 0 评论 -
结构体
结构体结构体的声明例如描述一个学生:struct Stu{ char id[20];//学号 char name[20];//姓名 int age;//年龄};结构体的引用在一个结构体中,是可以引用其它结构体的,也能够引用自己的结构体。struct s{ int a; struct s* next;//引用自己的结构体};struct s1{ int a; s...原创 2019-11-16 23:42:21 · 156 阅读 · 0 评论 -
字符串函数
字符串函数strlen求字符串的长度,函数返回的是在字符串中’\0’前面出现的字符个数,如果没有’\0’会给一个随机值。#include<stdio.h>#include<string.h>int main(){ char arr[] = "abcde"; printf("%d", strlen(arr)); return 0;}函数的实现:#inc...原创 2019-11-14 14:28:14 · 122 阅读 · 0 评论 -
函数指针
函数指针定义形式viod (*p)();首先要求p是一个指针,p先和*结合形成一个指针,指针指向函数,函数没有参数,返回值类型为void。使用方法#include<stdio.h>void test(){ printf("Hello World\n");}int test1(int a){ printf("%d\n", a); return a;}int ...原创 2019-11-08 23:27:14 · 119 阅读 · 0 评论 -
数组和指针
数组和指针指针数组指针数组是存放指针的数组。定义形式如下:int* a[10];//整形指针的数组char* b[10];//字符型指针的数组float* c[10];//浮点型指针的数组数组指针指针数组是数组,而数组指针是指针。其定义形式为:int(*p)[10];p先和*结合,说明p是一个指针变量,然后指向的是一个大小为10个整形的数组。一维数组定义形式为:int a[...原创 2019-11-06 23:47:54 · 105 阅读 · 0 评论 -
整形的提升和截断
整形在内存中的存储方式。计算机中的有符号数有三种表示方式,即原码、反码和补码。对于整形来说,内存中存放的就是补码。正数的元反补码相同,下面我们举一个例子说明负数的储存方式。int a = -1;首先我们定义了一个变量,它的值为-1。它的原码为:10000000 00000000 00000000 00000001它的反码为:11111111 11111111 11111111 11111...原创 2019-10-24 23:24:34 · 150 阅读 · 0 评论 -
扫雷
相信大家都有玩过一个游戏,那就是扫雷,今天我就给大家分享一个扫雷的c程序。#pragma once#define ROW 9#define COL 9#define ROWS 11#define COLS 11#define EASY 10#include<stdio.h>#include<time.h>#include<stdlib.h>v...原创 2019-10-23 21:06:09 · 220 阅读 · 1 评论 -
三子棋
今天给大家分享一个简易的三子棋游戏,由玩家和电脑进行对战,代码分享如下。头文件代码:#pragma once#define ROW 3#define COL 3#include<stdio.h>#include<time.h>#include<stdlib.h>void menu();void game();void player(char ...原创 2019-10-16 21:19:48 · 146 阅读 · 1 评论 -
二分查找
今天给大家分享一个二分查找的c程序,详细的解释在代码中体现。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>int main(){ int a[10] = { 1,2,3,4,5,6,7,8,9,10 }; int left = 0; int right = siz...原创 2019-10-07 20:45:38 · 75 阅读 · 0 评论 -
C语言——猜数字小游戏
今天为大家分享一个用c语言写的小游戏——猜数字。这个程序的作用是会随机生成一个0-100的数字,然后玩家输入自己猜的数字,错误就继续猜,并且会提示猜大了还是猜小了,直到猜到数字游戏结束。对于代码的内容,我将在代码中以注释的方式,为大家描述。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<time....原创 2019-09-28 22:11:04 · 547 阅读 · 1 评论 -
变量和常量
变量变量大概分为两类,一类是全局变量,一类是局部变量。下面用一个例子来体现。#include<stdio.h>int main() int global=2019;//全局变量{ int global=10;//局部变量 printf("%d\n",global); return 0;}从上面这个程序我们可以看到全局变量和局部变量...原创 2019-09-25 21:17:41 · 287 阅读 · 1 评论