- 博客(14)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 栈的c语言实现,选择用顺序表(数组)实现
1.栈的概念及结构栈:一种特殊的线性表,只允许在固定的一端进行插入删除元素操作,进行插入删除一端的称为栈顶,另一端成为栈底,栈中的数据元素遵守LIFO(Last in First out)的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈,出数据也在栈顶1 2 3栈底 栈顶——> 后入先出入栈依次为12345,出栈则为54321...
2022-03-15 16:48:07
1227
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 带头双向循环链表的c语言实现
注://特点:结构复杂,操作简单//单链表尾插时不想找尾,可直接在最后一个结点留一个尾指针//一个结点都没有时,head的next和prev都要指向自己//写代码的要求,写正确的代码,写效率高的代码,写易懂的代码//解引用可以连续解 例cur->prev->head但不易读//一定记住不论怎么操作都不容许将头结点删除//双向循环列表操作上的优点是无死角,修改时不会出现特例//两种命名风格//变量风格 pos_prev posPrev 函数 ListPrint list_..
2022-03-13 18:10:55
1877
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 数据结构,简单的顺序表该怎么写
数据结构的实际两种结构1.物理结构 (内存中是如何存储的)2.逻辑结构 (脑海里想象的)线性表物理结构:数组,链表数组的缺点在于,开辟空间过大,会浪费存储空间,开辟空间过小,满足不了存储的需求。链表能满足按需索取内存的要求而链表能满足需求的重点在于指针的使用前一块空间会存储下一个空间的指针,一节节穿连起来,从而实现遍历链表选择在堆区申请空间,空间上是非线性的,但逻辑上是线性的。2.顺序表顺序表是用物理地址连续的存储单元依次存储的线性结构,一般采用数组存储,并完成增删查改的操作。其实可将
2022-03-07 21:06:28
1131
原创 C语言的文件操作指南,掌握这些函数就够了!
wstreamPointer to a FILE object that identifies an output stream.strPointer to an array of chars where the stri
2022-06-03 15:39:17
361
原创 浅谈快速排序,以及快速排序的实现
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值(key),按照该基准值将待排序集合分割成两个子序列,左子序列中所有元素小于基准值,右子序列中所有元素据大于基准值,然后最左右子序列反复重复该过程,直到所有元素都排列在相应位置为止。首先,我们需要明白的一点是,先写一个单趟排序,再把单趟排序重复多次,这样来写排序会更加方便快捷不易出错所以,从快速排序的单趟实现,开始讲起现有一数组 61...
2022-04-18 20:39:55
508
1
原创 堆排序的实现以及堆排序的特点
#include<stdio.h>void HeapSort(int* a, int n);void PrintfArry(int* a, int n);void TestHeapSort(){ int a[] = {3,5,2,7,8,6,1,9,4,0}; HeapSort(a, sizeof(a) / sizeof(int)); PrintfArry(a, sizeof(a) / sizeof(int));}void PrintfArry(int* a, int n.
2022-04-09 15:23:27
1065
原创 清华大学考研上机题,二叉树的遍历细讲,C语言实现
以下是链接哦链接:二叉树遍历__牛客网来源:牛客网题目描述:编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。分析:首先这是一道io题,给出的字符串是来自于对一个二叉树的先序遍历,然后根据先序遍历所得结果,我们要还原二叉树,然后再用中序遍历来输出结果。需要注意的是#代表NULL,也就是说树
2022-03-29 16:45:36
1272
原创 二叉树的前中后序的遍历(Binary Tree)c语言实现
先准备一个二叉树如图所示下面是该二叉树的实现,以及调用测试#include "BinaryTree.h"int main(){ BTNode* A = (BTNode*)malloc(sizeof(BTNode)); A->data='A'; A->left = NULL; A->right = NULL; BTNode* B = (BTNode*)malloc(sizeof(BTNode)); B->data='B'; B->left .
2022-03-22 12:40:13
967
原创 队列的C语言实现
Queue.h#pragma once#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#include <assert.h>typedef int QDataType;typedef struct QueueNode{ struct QueueNode* next; QDataType data;}QNode;typedef struct Queue{ QNode*.
2022-03-17 20:31:23
2015
2
原创 小学喝汽水问题,困扰年幼的我多年,现如今用最短的编程完成
先让们回想一下,小学应用题,小明喝汽水夏天,刚放学的小明非常口渴,他路过卖橙子汽水的小卖铺,小卖铺老板笑嘻嘻地对小明说,今天喝汽水有优惠哦,两瓶空瓶可以换一瓶汽水,爱喝汽水的小明,掏了掏口袋,发现有二十块钱,这一瞬间,小胖墩小明脑袋中突然闪过一个问题,二十块全买汽水,我总共能喝多少瓶?(不考虑小明喝撑了的情况)(而且小明打算在老板面前站着把汽水喝完,边喝边换,直到一瓶不剩,小明也是个狠人)int main(){ int money = 0; int total = 0;...
2022-03-05 21:35:43
298
原创 算法和数据结构小常识
数据结构数据结构(Data Structure)是计算机存储,组织数据的方式,是相互之间存在一种或多种特定关系的数据元素的集合。算法算法(Algorithm)是定义好的计算过程,即一系列的计算步骤,用来将输入数据转化成输出的结果。当然是取一组值或一个值作为输出的结果。复杂度用来分析程序/算法运行占用时间/空间的情况重点:时间复杂度时间复杂度的定义:算法中基本操作的执行次数,为算法...
2022-03-02 20:18:59
163
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人