自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 从二分法到双指针

从二分法到双指针,从特殊到一般。介绍了二分查找的一些使用,从最基本的二分法开方到重复项的查询以及双指针的一般用法

2022-03-26 21:30:19 556 1

原创 关于c++中调用构造函数的一些事项

一.默认构造函数我们知道,当我们创建某个类的对象时,编译器将自动调用构造函数。如果我们在类的定义中没有声明定义构造函数,则将调用一个编译器自动创建的不带参数的默认构造函数。//默认构造函数//default constructionClassName::ClassName(){}相反,如果我们定义了构造函数,则编译器将不会自动创建默认构造函数。若这时恰好我们自定义的构造函数,是有参数且不带缺省值(默认值)的。那么,当我们调用一个无...

2022-03-08 22:36:44 823 3

原创 C语言期末课设:从头开始设计一个简单的学生成绩管理系统

C语言期末大作业,课程设计

2021-12-29 19:39:48 3697 5

原创 c语言中简单的用户自定义栈

栈可以看成是一个先进后出的容器,一个有底无盖的杯子。第一个入栈的数据先进去栈底,接下来入栈的在第一个上面,以此类推下去。

2021-11-09 18:55:23 810

原创 后序遍历链式二叉树(递归和非递归)

#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100//二叉树的结点typedef struct Node{ char data; struct Node * LChild; struct Node * RChild;}LinkBTree, * PLinkBTree;//入栈的元素typedef struct elementype{ PLinkBTree node; .

2021-11-09 18:53:00 342

原创 顺序栈实现简单的迷宫求解 (一)

我们这里的迷宫,将其简化为只有四个方向可以选择的二维迷宫。迷宫我们可以近似用一个二维数组来表示上面的图就是一个简易的迷宫。其中1表示不可以走,0表示可以走。我们在实际迷宫(6 x 8)的外面加了两行两列(全部为1 ),构成了新的(8 x 9)迷宫。但是实际还是(6 x 8),之所以加一圈,是为了保证实际迷宫(6 x 8)中包括起点(1,1)在内的所有位置,可以选择的方向都有且只有4个。四个方向分别以0,1, 2, 3代表,其对应的偏移量如下图...

2021-10-10 17:01:12 842

原创 删除单链表指定位置开始的连续多个节点

#include<stdio.h>#include<stdlib.h>typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}NODE, * PNODE;PNODE create_linklist(); //创建不带头结点的单链表bool delete_nodes(PNODE *, int, int); //删除从指定位置开始的连续多个节点int length_linklist.

2021-09-19 22:49:47 833

原创 创建一个不带头结点的循环单链表并进行相关操作

关于循环单链表的创建,以及一些基本操作

2021-09-14 22:53:05 4744

原创 约瑟夫问题用不含头结点的循环单链表解决

问题描述:设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此反复直到所有的人全部出列为止。Josephus问题是:对于任意给定的n,s和m,求出按出列次序得到的n个人员的序列。现以n=8,s=1,m=4为例,问题的求解过程如图2-15所示。图中s1指向开始报数位置,若初始的顺序为n1,n2,n3,n4,n5,n6,n7,n8。则问题的解为n4,n8,n5,n2,n1,n3,n7,n6。...

2021-09-14 22:31:55 948 1

原创 约瑟夫问题顺序表解决

问题描述:设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此反复直到所有的人全部出列为止。Josephus问题是:对于任意给定的n,s和m,求出按出列次序得到的n个人员的序列。现以n=8,s=1,m=4为例,问题的求解过程如图2-15所示。图中s1指向开始报数位置,若初始的顺序为n1,n2,n3,n4,n5,n6,n7,n8。则问题的解为n4,n8,n5,n2,n1,n3,n7,n6。...

2021-09-13 16:48:01 2103

原创 合并两个有序单链表

我们考虑如何将两个值域有序的单链表合并成一个新的有序单链表,使用原有的单链表的头结点作为新链表的头结点。

2021-09-12 12:57:26 12101 3

原创 实现对单链表的倒置

我们知道数组的倒置比较简单,只需要知道数组的头,和数组的尾,将其数据互换,再将第二个和倒数第二个互换,一直这样操作下去,数组就实现倒置了。那么单链表也可以通过这样的方法实现倒置吗?显然是不合理的。因为单链表我们无法通过一个节点找到他的前驱节点(节点前面连的节点),也就无法实现从倒数第一个到倒数第二个的操作。那么我们该如何实现呢?我们可以将一个要倒置的链表断为两个链表。第一个链表,是头结点和第一个节点。第二个链表是,第二个节点和其后面所有节点构成的。再依次将第二个链表的第一个节点插入到头结点.

2021-09-10 21:39:19 4643 2

原创 创建一个非循环单链表并对其进行操作

首先我们定义一个节点结构体,他的一部分是存储数据,一部分存储指针指向下一个节点。下面是代码:typedef struct Node { int data; //数据域 struct Node * pNext; //指针域;}NODE, * PNODE;接下来用函数实现链表的创建PNODE create_list(void){ int len, val, i; PNODE pHead = (PNODE)malloc(sizeof(NODE)); //

2021-08-30 14:56:39 164

原创 对连续存储的数组的相关操作

首先我们知道为数组分配的空间是连续的。接下来进行对一维数组的相关操作。首先是创建一个一维数组需要确定哪几个元素。下面给出了答案:typedef struct Array{ int * pBase; //数组名,即是数组首个元素的地址 int cnt; //数组有效元素个数 int len; //数组的长度}ARRAY, * PARRAY;只需要数组首个元素的地址,有效元素个数,以及数组的长度就可以确定一个一维数组;接下来进行的操作是对数组的初始化。我

2021-08-29 15:26:40 93

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除