自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实验5555555

【代码】实验5555555。

2023-04-23 13:04:59 54

原创 模拟考试1111

【代码】模拟考试1111。

2023-04-23 13:02:26 43

原创 16、N皇后问题

N 皇后问题源自国际象棋,所有棋子中权力最大的称为皇后,它可以直着走、横着走、斜着走(沿 45 度角),可以攻击移动途中遇到的任何棋子。N 皇后问题的具体内容是:如何将 N 个皇后摆放在 N*N 的棋盘中,使它们无法相互攻击。1、确认有无位置bool place(int* paraSolution, int paraT){ int j; for (j = 1; j < paraT; j ++){ if ((abs(paraT - j) == abs(paraSolu

2022-05-29 18:50:58 264

原创 15、哈夫曼树

给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。1、构建节点typedef struct { int weight; int parent, left, right;}HTNode, *HuffmanTree;2、代码实现void Select(HuffmanTree HT, int end, int *s1, in

2022-05-29 18:47:50 161

原创 14、二叉树

二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树[2]1、建立队列及二叉树节点typedef struct BTNode{ char element; BTNode* left; BTNode* right;} typedef struct BTNodePtrQueue{ BTNodeP...

2022-05-24 20:15:01 48

原创 13、压缩矩阵的转置

1、建立矩阵typedef struct Triple{ int i; int j; elem e;} typedef struct CompressedMatrix{ int rows,columns,numElements; Triple* elements;}2、初始化CompressedMatrixPtr initCompressedMatrix(int paraRows, int paraColumns, int paraElem

2022-05-19 21:32:33 39

原创 12、二维数组与矩阵乘法

1、建立二维数组及矩阵typedef struct TwoDArray{ int rows; int columns; int** elements;} typedef struct TwoDStaticArray{ int rows; int columns; int elements[ROWS][COLUMNS];}2、初始化TwoDArrayPtr initTwoDArray(int paraRows, int paraColumns){ int i; Two

2022-05-19 21:29:10 69

原创 11、循环队列

1、建立链表typedef struct CircleIntQueue{ int data[TOTAL_SPACE]; int head; int tail;}2、初始化CircleIntQueuePtr initQueue() { CircleIntQueuePtr resultPtr = (CircleIntQueuePtr)malloc(sizeof(struct CircleIntQueue)); resultPtr->head = 0; resultPtr-

2022-05-17 21:20:55 39

原创 10、链队列

1、建立链队列及节点typedef struct LinkNode{ int data; LinkNode* next;}*LinkNodePtr; typedef struct LinkQueue{ LinkNodePtr front; LinkNodePtr rear;}*LinkQueuePtr;2、初始化LinkQueuePtr initQueue(){ LinkQueuePtr resultPtr = (LinkQueuePtr)malloc(sizeof(str

2022-05-17 21:17:31 38

原创 9、栈与递归及其应用

1、递归的实现int addTo(int paraN) { int tempSum; printf("entering 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\...

2022-05-12 20:33:09 99

原创 8、表达式求值

表达式求值是栈的一个重要的应用。例如计算器中的加减乘除的表达式计算,都会使用栈来进行求值。下面的代码只用两个栈便实现了表达式求值的功能。但由于是C++,还有很多地方不熟悉,主要还是在于观摩学习#include <iostream>#include <cstring>#include <algorithm>#include <stack>#include <unordered_map>using namespace std;s..

2022-05-10 22:47:58 170

原创 7、括号匹配

1、typedef struct CharStack { int top; int data[STACK_MAX_SIZE];}

2022-05-10 22:46:18 61

原创 6、数据结构—栈

1、建立空栈typedef struct CharStack { int top; int data[STACK_MAX_SIZE];}2、初始化CharStackPtr charStackInit() { CharStackPtr resultPtr = (CharStackPtr)malloc(sizeof(CharStack)); resultPtr->top = -1; return resultPtr;}3、打印voi...

2022-05-10 22:41:11 61

原创 5、多项式相加

1、建立链表:typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;}2、初始化LinkList initLinkList(){ LinkList tempHeader = (LinkList)malloc(sizeof(struct LinkNode)); tempHeader->coefficient = 0; tempHeader-&...

2022-05-06 17:23:34 46

原创 4、静态链表

1、建立链表typedef struct StaticLinkedNode{ char data; int next;}typedef struct StaticLinkedList{ NodePtr nodes; int* used;}2、初始化ListPtr initLinkedList(){ ListPtr tempPtr = (ListPtr)malloc(sizeof(StaticLinkedList)); tempP...

2022-05-03 19:57:49 39 1

原创 3、双向链表

1、创建链表typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct DoubleLinkedNode *next;}DLNode,*DLNodePtr;2、建立头节点DLNodePtr initLinkList(){ DLNodePtr tempHeader=(DLNodePtr)malloc(sizeof(struct DoubleLinkedN...

2022-05-03 19:21:53 44 1

原创 2、单链表

创建链表的结构体typedef struct LinkNode{ char data; struct LinkNode *next;}LNode,*LinkList;建立头节点LinkList intLinkList(){ LinkList tempHead=(LinkList)malloc(sizeof(LNode)); tempHead->data='\0'; tempHead->next=NULL; return tempHea...

2022-04-29 18:19:21 630

原创 1、顺序表

自己写的函数:#include <stdio.h>#include <malloc.h>#define LIST_MAX_LENGTH 10typedef struct SequentialList { int actualLength; int data[LIST_MAX_LENGTH];} *SequentialListPtr;void outputList(SequentialListPtr paraList) { for (int

2022-04-25 22:58:32 48

空空如也

空空如也

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

TA关注的人

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