自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实验6&知识点

input type="radio" value="普通用户" name="userType">普通用户<br><input type="radio" value="管理员" name="userType">管理员<br><input type="radio" value="男" name="sex">男<br><input type="radio" value="女" name="sex">女<br>localStorage.setItem("name", "张三");(2)选择后获取本组单选框的值。

2023-04-23 16:36:05 137

原创 数据结构18-Prim算法和Dijkstra算法

Prim算法解决连通无向有权图中最小生成树问题,而Dijkstra算法解决源点到目标点的最短路径问题。Prim算法中,“距离最短”是指未访问的结点到已经访问的所有结点距离最小,即将已经访问的结点视为一个整体,将距离最小的结点加入到已访问的集合中;而在Dijkstra算法中,“距离最短”是指所有未访问结点(通过已访问的结点)到源点距离最小。在代码实现上这两者区别不大。...

2022-06-02 22:01:33 380

原创 数据结构17-邻接表及广度优先遍历

邻接表邻接表是图的一种最主要存储结构,用来描述图上的每一个点。对图的每个顶点建立一个容器(n个顶点建立n个容器),第i个容器中的结点包含顶点Vi的所有邻接顶点。实际上邻接矩阵就是一种未离散化每个点的边集的邻接表。AdjacencyListPtr graphToAdjacentList(GraphPtr pPtr){ int i,j,tempNum; AdjacentNodePtr p,q; tempNum = pPtr->numNodes; AdjacencyListPtr.

2022-05-30 21:52:52 1224

原创 数据结构16-图的遍历

图的遍历方法有深度优先搜索法和广度优先搜索法两种算法。深度优先法深度优先搜索法的基本思想是:从图G的某个顶点v0出发,访问v0,然后选择一个与v0相邻且没被访问过的顶点vi访问,再从vi出发选择一个与vi相邻且未被访问的顶点vj进行访问,依次继续。如果当前被访问过的顶点的所有邻接顶点都已被访问,则退回到已被访问的顶点序列中最后一个拥有未被访问的相邻顶点的顶点w,从w出发按同样的方法向前遍历,直到图中所有顶点都被访问。void depthFirstTranverse(GraphPtr pGrap

2022-05-30 21:43:24 145

原创 数据结构14-Huffman树的编码译码

这东西实在是有点麻烦。文件操作和统计频次建立字母表以后再做吧。目录Huffman树的类型定义初始化找出权重最小的两个结点创建Huffman树编码译码主函数完整代码运行结果Huffman树的类型定义typedef struct HTNode{ int weight; //结点的权值 int parent; //双亲的下标 int LChild; //左孩子结点的下标 int RChild; //右孩子结点

2022-05-27 21:44:27 191

原创 数据结构15-N后问题

在n*n格的棋盘上放置n个皇后,任何两个皇后不放在同一行同一列,同一斜线上,问有多少种放法。 其中pN表示要释放几个皇后,pT表示当前行数;当第一行放第一个时,第二行就不能放第二三个位置。完整代码#include <stdio.h>#include <math.h>#include <malloc.h>//判断位置是否正确 bool place(int* pSolution,int pT){ int j; for(j...

2022-05-25 21:23:24 79

原创 数据结构13-二叉树的构建与遍历

二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分 。在老师代码基础上允许自己输入字符串(需要是正确的格式),自己输入字符串时需要在stringToBTree函数加一个简单的条件,否则就会无限执行函数。 if (ch == '\0') { break;...

2022-05-23 20:11:06 134

原创 数据结构12-压缩矩阵的转置

完整代码#include <stdio.h>#include <malloc.h>typedef int elem;typedef struct Triple{ int i; int j; elem e;}Triple,*TriplePtr;typedef struct CompressMatrix{ int rows,columns,numElements; Triple* elements;}CompressedMatrix,*.

2022-05-18 22:41:22 140

原创 数据结构11-二维数组与矩阵乘法

矩阵乘法定义完整代码#include <stdio.h>#include <stdlib.h>#define ROWS 4#define COLUMNS 5typedef struct TwoDArray{ int rows; int columns; int** elements;}TwoDArray,*TwoDArrayPtr;typedef struct TwoDStaticArray{ int rows; int columns;

2022-05-18 21:11:03 184

原创 数据结构10-循环队列

循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列结构中,当存储空间的最后一个位置已被使用而再要进入队运算时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,即将存储空间的第一个位置作为队尾。为了区别这空和满时都有head=tail,规定循环队列最多只能有MaxSize-1个队列元素,当循环队列中只剩下一个空存储单元时,队列就已经满了。因此,队列判空的条件是head=tail,而队列判满的条件是head=(...

2022-05-16 20:08:04 379

原创 数据结构09-链队列

同类型结点分配在相邻空间Start testing.In initQueue, the address of resultPtr is 2293208The value of resultPtr is 2521728The address of headerPtr is 2293200The value of headerPtr is 2521760局部变量的空间能重复利用Start testing.In initQueue, the address of resultPtr is.

2022-05-16 19:27:31 419

原创 数据结构08-递归及其应用(汉诺塔问题)

累加的递归实现int addTo(int pN){ if(pN <= 0){ return 0; }else { return addTo(pN-1) + pN; }}测试函数void addToTest(){ int n,sum; printf("---- addToTest begins. ----\r\n"); n = 5; sum = addTo(n); printf("\r\n0 adds to %d gets %d.\r\n", n, s

2022-05-11 20:05:09 228

原创 数据结构07-栈的应用:表达式求值

这篇看学长的思路用C写了一遍结构定义typedef struct Stack{ int numdata[MAXSIZE]; char chdata[MAXSIZE]; int numtop; int chtop; }*StackPtr;初始化StackPtr iniStack(){ StackPtr p = (StackPtr)malloc(sizeof(struct Stack)); p->chtop = -1; p->numtop = -1;

2022-05-10 22:41:18 166

原创 数据结构06-栈及括号匹配

栈及括号匹配#include<stdio.h>#include<malloc.h>#define MAXSIZE 10//结构定义 typedef struct CharStack{ int top; int data[MAXSIZE];}*CharStackPtr;//输出 void outputStack(CharStackPtr pStack){ for(int i = 0;i <= pStack->top;i++){ printf(

2022-05-10 22:26:50 235

原创 数据结构05-多项式的加法

完整代码#include <stdio.h>#include <stdlib.h>typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;} *LinkList,*NodePtr;LinkList iniLinkList(){ LinkList Header = (LinkList)malloc(sizeof(struct LinkNode)); Heade

2022-05-04 21:48:34 735

原创 数据结构04-静态链表

目录介绍结构初始化打印插入元素删除元素测试函数主函数测试结果完整代码介绍静态链表是借助数组来描述线性表的链式存储结构,此时的数组的分量就是我们自己定义的结构体,数组中的一个分量表示一个结点,同时用int类型的元素代替指针描述结点在数组中的相对位置。此外,数组的第0个分量可以看成链表中的头结点,其游标即链表中的指针域则就指向链表的第一个结点。这种存储结构是需要预先分配一个较大的空间,但是在线性表的插入和删除时是不需要移动元素的,仅需要修改游标,因此是具有

2022-05-02 20:37:30 559

原创 数据结构03-双向链表

目录定义结构初始化打印表插入新元素删除元素根据元素查找测试函数返回地址测试结果完整代码定义双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。结构typedef struct doublelinkedNode{ char data; struct doublelinkedNode *previous; struc

2022-05-02 17:32:10 75

原创 数据结构02-单链表

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素+指针,元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。创建单链表typedef struct LinkNode{ char data; struct LinkNode *next;} L,*NodePtr;初始化NodePtr iniLinkList(){ NodePtr Header = (NodePtr)malloc...

2022-04-27 20:05:21 716

原创 数据结构01-线性表

一.老师的代码#include <stdio.h>#include <malloc.h>#define LIST_MAX_LENGTH 10/** * Linear list of integers. The key is data. */typedef struct SequentialList { int actualLength; int data[LIST_MAX_LENGTH]; //The maximum length is fix

2022-04-25 22:50:33 385

空空如也

空空如也

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

TA关注的人

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