自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于STL的演讲比赛流程管理

程序功能:·开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段·查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csV后缀名保存·清空比赛记录:将文件中数据清空·退出比赛程序:可以退出当前程序

2023-06-29 15:34:43 275

原创 基于多态的职工管理系统(C++)

#include #include "workerManager.h"#include #include "worker.h"#include "employee.h"#include "boss.h"using namespace std;int main(){ //实例化管理者对象 WorkerManager wm; //调用展示菜单成员函数 int choice = 0; while (true) { wm.Show_Menu()

2023-06-16 15:11:36 168

原创 通讯录管理系统(C++)

#include #include #include "通讯录管理系统.h"using namespace std;void modifyPerson(Addressbooks* abs){ cout name; int ret = isExist(abs, name); if (ret != -1) { //姓名 string name; co

2023-06-16 14:30:31 179

原创 快速排序(C语言)

#include #include /*遍历输出*/void printArray(int array[],int length){/*参数一:数组参数二:数组长度*/ int i;

2023-06-03 15:11:21 134

原创 冒泡排序(C语言)

#include #include /*遍历输出函数*/void printArray(int array[],int length){/*参数一:要操作的数组参数二:数组长度*/ int i; for(i=0;i

2023-06-03 14:09:19 39

原创 希尔排序(C语言)

#include #include void shellSort(int arry[],int length,int step)

2023-06-02 17:58:11 161

原创 插入排序(C语言)

#include #include void insertSort(int arry[],int length){ int i,j,k,num; /*外层循环从第二个元素开始比较, 比较从0到他们前一个元素之间有没有合适的位置插入*/ for(i=1;i

2023-06-02 16:33:12 254

原创 哈希表(C语言描述)

#include #include #define NUM 5/*定义哈希列表结构体*/typedef struct HashList{ int num;//目前存放多少数据 char *data;//存放数据的data数组 }HashList;

2023-06-01 16:52:58 111

原创 B树(C语言描述)

一.概念B树是一种多路平衡查找树,不同于二叉平衡树,他不只是有两个分支,而是有多个分支,一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树,B树用于磁盘寻址,它是一种高效的查找算法。

2023-06-01 15:39:53 577

原创 二分查找(C语言)

#include #include /*定义列表结构体*/typedef struct List{ int *data;//数组 int length;//总长度 int num;//当前长度 }List;

2023-05-31 16:14:47 1015

原创 顺序查找(C语言)

#include #include /*线性表结构体*/typedef struct List{ int *data;//元素数组 int length;//可以写入多少元素 int num;//目前元素个数 }List;

2023-05-31 14:42:46 1958

原创 基于C语言的拓扑排序操作

typedef struct Graph//定义图的结构体 { char *vexs;//图的结点 int **arcs;//图的邻接矩阵 int vexNum;//图的结点个数 int arcNum;//图的边个数 }Graph;

2023-05-30 15:57:38 498

原创 基于C语言的prim最小生成树的操作

typedef struct Graph { char* vexs;//顶点的值 int** arcs;//边(二级指针,类似于二维数组) int vexNum;//顶点数量 int arcNum;//边的数量 }Graph;

2023-05-27 15:32:53 64

原创 基于C语言的图的创建(邻接矩阵)和DFS,BFS

#include #include #define MAXSIZE 5typedef struct Graph { char* vexs;//顶点的值 int** arcs;//边(二级指针,类似于二维数组) int vexNum;//顶点数量 int arcNum;//边的数量 }Graph;

2023-05-26 15:24:57 86

原创 基于C语言的哈夫曼树的实现(包含完整代码)

在许多应用中,树中结点常常被赋予一个表示某种意义的数值,称为该结点的权。从树的根到任意结点的路径长度(经过的边数)与该结点上权值的乘积,称为该结点的带权路径长度。树中所有叶结点的带权路径长度之和称为该树的带权路径长度.在含有n个带权叶结点的二叉树中,其中带权路径长度(WPL)最小的二叉树称为哈夫曼树,也称最优二叉树。

2023-05-24 18:57:40 1699

原创 基于C语言的平衡二叉树操作(包含完整代码)

平衡二叉树的定义:为避免树的高度增长过快,降低二叉排序树的性能,规定在插入和删除二叉树结点时,要保证任意结点的左、右子树高度差的绝对值不超过1,将这样的二义树称为平衡二叉树AVL (Balanced Binary Tree),简称平衡树。

2023-05-24 16:02:35 793

原创 基于C语言的二叉排序树操作(包含完整代码)

二叉排序树(BST也称二叉查找树), 或者是一颗空树,或者是具有下列特性的二叉树:(1)若左子树非空,则左子树上所有结点的值均小于根结点的值(2)若右子树非空,则右子树上所有结点的值均大于根结点的值(3)左右子树也分别是一颗二叉排序树

2023-05-23 14:48:37 343

原创 基于C语言的后序线索二叉树的实现(包含完整代码)

用ABDEC举个例子,后序线索二叉树构建的原理与过程:后序序列为DEBCA,结点D无左孩子,也无前驱故置空,无右孩子,将右链域指向后继E;结点E无左孩子,将左链域指向前驱D,无右孩子,将右链域指向后继B;结点C无左孩子,将左链域指向前驱B,无右孩子,将右链域指向后继A,得到的后序线索二叉树如下图所示。

2023-05-22 17:31:39 685

原创 基于C语言的先序线索二叉树(包含完整代码)

先序序列为ABDEC,然后依次判断每个结点的左右链域,如果为空则将其改造为线索。结点A,B均有左右孩子;结点D无左孩子,将左链域指向前驱B,无右孩子,将右链域指向后继E;结点E无左孩子,将左链域指向前驱B,无右孩子,将右链域指向后继C;结点C无左孩子,将左链域指向前驱E,无右孩子,也无后继故置空,得到的先序线索二叉树如上图所示。

2023-05-22 16:25:58 449

原创 基于C语言二叉树的建立,先序,中序,后序遍历(包含完整代码)

int data;//数据域//左子树//右子树}Tree;

2023-05-20 16:03:27 545

原创 基于C语言的字符串匹配算法(KMP匹配算法)(包含完整代码)

KMP算法是暴力匹配算法的改进,相比于暴力匹配,KMP的主串指针不回溯,从而降低了时间复杂度.

2023-05-19 15:58:08 364

原创 基于C语言的字符串暴力匹配算法(包含完整代码)

1.1 开始匹配时,主串标识i指向主串第一个字符,匹配串标识j指向匹配串第一个字符

2023-05-18 18:41:00 1084

原创 基于C语言的循环队列实现(包含完整代码)

循环队列不同于非循环队列和链表,其操作不需要定义next指针,只是单纯的定义一个固定的结构体变量,此结构体中的数组变量已经可以包含全部的已定义的队列长度.(如果采用循环链表来实现队列也可行,但队列会成为可变长的)

2023-05-18 16:48:03 1005 3

原创 基于C语言的队列操作(包含完整代码)

队列和链表,栈一样都属于线性表,队列的基本操作与链表类似,队列就是操作受限的链表,队列的特性是先进先出.首先需要两个头文件#include 和#include

2023-05-18 14:20:22 230

原创 基于C语言中栈的定义与操作(包含完整代码实现)

栈是一种特殊的线性表,只能在一端进行操作,它的特性是先进后出,在求表达式的值,解决一些递归问题,计算进制转换等等有诸多应用。

2023-05-17 19:27:06 478

原创 基于C语言的循环双链表的各种操作(包含完整代码)

int data;//数据域//后继指针//前驱指针}Node;

2023-05-17 18:30:33 26

原创 基于C语言的双链表操作(包含完整代码)

int data;//数据域//前驱指针//后继指针}Node;

2023-05-17 16:59:01 97

原创 基于C语言的循环单链表实现(包含完整代码)

typedef struct Node//定义结构体变量int data;}Node;

2023-05-17 14:51:52 128

原创 基于C语言的非循环单链表的各种操作(包含完整代码实现)

typedef struct Node//定义链表结构体int data;//数据域//指针域}Node;

2023-05-17 14:45:14 58

原创 (c语言描述)使用单链表构建有序数组,以及单链表的插入与删除

在构建有序数组时,直接使用传统的方法会导致程序运行效率不高(插入新的变量时,往后的所有数字都需要依次向后移动),而使用链表就可以只修改指针的指向而不用移动元素位置,时间复杂度大大降低。

2023-05-12 16:31:28 352

原创 小甲鱼c语言作业-构建一个图书馆

小甲鱼,结构体,指针,图书管理,使用malloc函数和realloc函数。

2023-05-11 19:34:39 89

原创 CCF计算机试题-田地丈量

每块田地可视为平面直角坐标系下的一块矩形区域,由左下角坐标 (x1,y1) 和右上角坐标 (x2,y2) 唯一确定,且满足 x1

2023-05-09 14:08:35 257

原创 输入一串数字,去重

if(b[a[i]]=='#')//检查该元素下标对应的b数组中是否已经写入了数字。//向b数组对应元素下标的位置上中写入对应的数字。i++)//输出b数字中的数字,#是未输入的标志,跳过#不输出。//将数组b的每位都写入#i++)//数字只有0~9,对应数组元素下标0~9。=a[i+1])//仅输出不相同的数。printf("请输入要输的数字个数n:");printf("请输入%d个数:",n);printf("请输入10个数:");

2023-03-10 18:15:26 194

原创 输入 10 个单词 对单词进行排序

if(strcmp(a[j],a[j+1])>0)//strcmp是比较函数,大的放后面。//函数strcpy是复制,将后一个复制到前一个。//a数组代表输入的单词,b数组代表中间变量。i++)//与冒泡排序原理类似。printf("输入10个单词:\n");printf("单词排序后:\n");//输入 10 个单词 对单词进行排序。

2023-03-10 16:54:18 993

原创 删除一个字符串中特定的字符(除字母空格外其它所有字母)

gets(a); len=strlen(a);//记录数组a写入了多少元素 for(i=0,j=0;i='a'&&a[i]='A'&&a[i]

2023-03-10 16:16:02 2703 1

原创 (两种方法)顺序移动数组

int main(){ int a[10]={0,1,2,3,4,5,6,7,8,9}; int i,n,m;//n代表移动的位数,m代表中间变量 printf("请输入移动的位数:"); scanf("%d",&n); printf("移动前:\n"); for(i=0;i

2023-03-09 15:14:49 222

原创 输入年、月、日,计算该日是该年的第几日

0&&year%4==0))//判断是否为闰年。i++)//闰年则将该月前面的所有月份的天数相加。i++)//平年则将该月前面的所有月份的天数相加。//最后再加上该月的天数。//最后再加上该月的天数。printf("该日是该年的第%d天",sum);printf("请输入年,月,日:");printf("闰年\n");printf("平年\n");//输入年、月、日,计算该日是该年的第几日。

2023-03-08 17:05:50 122

原创 (普通法+递归法)一个球从 100m 高度自由下落,每次反弹原来高度一半再落下,求第 10 次落地总共经过多长距离,第 10 次落地反弹高度多高

【递归】一个球从 100m 高度自由下落,每次反弹原来高度一半再落下,求第 10 次落地总共经过多长距离,第 10 次落地反弹高度多高。double total(int n,double lenth)//n为落地的次数,lenth是初始球的高度{ if(n==1) return 100;//初始球的高度为100米 else return lenth+2*(total(n-1,lenth/2)/2);//n-1次小球的距离+2*小球弹起的高度}

2023-03-08 15:55:06 2084

原创 2/1+3/2+5/3+8/5+13/8…的前 20 项的和

/m是分子,n是分母,k是中间变量,sum是最终结果。//下一项的分子等于上一项的分子加分母的值。//分母除以分子再加上前一项。//2/1+3/2+5/3+8/5+13/8…i++)//20项20层循环。//上一项的分子是下一项的分母。//先将m的值赋给k保存起来。

2023-03-08 15:02:59 415

原创 交换两个字符串中的值 strcpy()也可以

char *strcpy(char *st1,char *str2) :把str1所指的字符串复制到str2。方法二:使用string.h库函数中的strcpy()函数交换两个字符串的值。方法一:自定义函数交换两个字符串的值。

2023-03-07 17:47:20 1229

空空如也

空空如也

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

TA关注的人

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