自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图的遍历以及邻接表

本章是关于图的遍历以及邻接表优先遍历的代码实现以及运行结果

2022-06-01 12:14:58 1865

原创 哈夫曼树和N皇后

文件的创建:哈夫曼树代码:#include <iostream>#include <fstream>#include <string.h>using namespace std; #define MaxSize 1024 // 读入文件的上限 #define OK 1#define ERROR 0typedef int Status;typedef struct wordcnt{ // 统计字符和对应的次数 char.

2022-05-29 18:21:55 119

原创 二叉树的构建和遍历

二叉树的遍历有四种:先序排序,中序排序,后序排序,层次排序。1、先序排序:2、 中序排序:3、后序排序:4、层次排序:5、二叉树的代码构建(1)初始化队列#include<stdio.h>#include<malloc.h>#define QUEUE_SIZE 5//创建二叉树结点typedef struct BTnode{ char element;//存储数据。 BTnode*left;//左分支 BTn

2022-05-23 12:21:02 194

原创 矩阵乘法以及压缩矩阵的转置

二位数据可以表示矩阵的乘法,矩阵乘法的计算方法如下:代码实现如下:首先进行初始化工作:#include <stdio.h>#include <malloc.h>#include <stdlib.h>#define ROWS 4#define COLUMNS 5//定义行数和列数 typedef struct TwoDArray{ int rows; int columns; int** elements;} TwoDArray,

2022-05-19 22:27:46 211

原创 链队列和循环队列

1、初始化链队列#include<stdio.h>#include<malloc.h>//定义链队列的结点。一个数据域,一个指针域。typedef struct LinkNode{ int data; LinkNode* next; } *LinkNodePtr; //定义链队列,队首和队尾。 typedef struct LinkQueue { LinkNodePtr front; LinkNodePtr rear; } *

2022-05-17 18:18:56 94

原创 累加的递归实现(汉诺塔问题)

累加递归函数1、添加函数的设计#include<stdio.h>int addto(int paraN){ int tempSum; printf("ertering addto(%d)\r\n",paraN); if(paraN<=0) { printf("return 0\r\n"); return 0; } else { tempSum = addto(paraN-1) + paraN; printf("return %d\r\n",te

2022-05-12 17:18:22 107

原创 表达式求值

//202031061018 刘知鑫#include <iostream>#include <cstring>#include <algorithm>#include <stack>#include <unordered_map>using namespace std;stack<int> num;stack<char> op;void eval(){ auto b = num.top().

2022-05-10 21:24:06 84

原创 栈的基本建立以及应用(括号匹配)

栈是一种运算受限的线性表,是一种特殊的线性表。他只允许在表尾进行插入和删除操作的线性表。其中一段被称为栈顶,另一端称为栈底。向一个栈插入新元素称作入栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素。同理的,从一个栈删除元素又称作出栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈的基本建立包括初始化,建立入栈函数,出栈函数和测试函数。1、初始化#include <stdio.h>#include <malloc.h>#defi...

2022-05-10 21:13:03 672

原创 数据结构C代码:多项式的加法

1、定义一个结构体,表示系数,次方和指针域。#include<stdio.h>#include<malloc.h>//定义结构体,三个地址,分别表示系数,次方,指针域。 typedef struct Linknode{ int coefficent; int exponent; struct Linknode *next;}*linklist,*nodePtr;2、初始化//初始化结构体,全为空。linklist initlinklist(){

2022-05-05 16:32:48 104

原创 静态链表-----用数组实现的单链表。

静态链表是单链表的另外一种表现方式,具体的操作步骤的实现与单链表类似。1、初始化实现代码:include<stdio.h>#include<malloc.h>#define DEFAULT_SIZE 5//宏观定义内存的大小,在静态连接节点的结构体里在设计一个静态链表的结构体 typedef struct StaticLinkedNode{ char data; int next; }*NodePtr;typedef struct Stati.

2022-05-02 17:55:39 698 2

原创 双向链表的插入和删除的实现

双向链表的操作实现包括:初始化指针,打印链表,插入链表以及删除链表。1、初始化结构体实现的代码如下:#include <stdio.h>#include <malloc.h>//初始化结构体,一个是前驱指针,一个后继指针. typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct DoubleLinkedNode *next;} DLNo

2022-05-02 12:57:32 5482 1

原创 关于单链表的基本操作

单链表的基本操作包括初始化,连接,插入和删除,我们现在一次来看这几个步骤的实现。(1)初始化一个结构体,思路:代码:typedef struct linknode{ char data; struct linknode *next; }lnode,*linklist,*nodePtr;(2)创建一个连接链表的函数,将每一个单独的链表串联起来。代码如下:linklist initlinklist(){ nodePtr tempheader = (...

2022-04-29 10:41:15 418

原创 线性表的基本操作步骤及其实现

以下是一个对线性表的初始化、取值、查找、插入和删除的实现过程,接下来我们主要讨论这5个主要操作的实现。总体的代码如下:#include<stdio.h>#include<malloc.h>#define LIST_MAX_LENGTH 10/** * Linear list of integers. The key is data. */ typedef struct SequentialList { int actualLength; i...

2022-04-25 22:35:40 3471 1

空空如也

空空如也

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

TA关注的人

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