笔记
伴虎
这个作者很懒,什么都没留下…
展开
-
求网的最小生成树(MST)的Kruskal算法
C++求网的最小生成树(MST)的Kruskal算法代码如下:#include <iostream>const int N = 1000;//用N表示无穷大using namespace std;int Kruskal(int AdjacencyMatrix[], int n, int startPos)//自定义Kruskal算法函数/*AdjacencyMatrix表示邻接矩阵;n表示顶点总数;startPos表示初始顶点编号*/{ int i, j, pos1 =原创 2020-12-15 14:27:49 · 319 阅读 · 0 评论 -
图的广度优先搜索
C++实现图的广度优先搜索代码如下:#include <iostream>#include <cstring>using namespace std;void search_WidthFirst(char *dataArray, int *edgeMetrix, char startdata, int n)//自定义广度优先搜索函数/*dataArray用于存放顶点数据;edgeMetrix用于存放邻接矩阵;startdata表示起始访问点数据;n表示顶点总个数*/{原创 2020-12-11 19:28:47 · 288 阅读 · 1 评论 -
图的深度优先搜索
C++实现图的深度优先搜索的代码如下:#include <iostream>#include <cstring>using namespace std;void search_DepthFirst(char *dataArray, int *edgeMetrix, char startdata, int n)//自定义深度优先搜索函数/*dataArray用于存放顶点数据;edgeMetrix用于存放邻接矩阵;startdata表示起始访问点数据;n表示顶点总个数*/原创 2020-12-11 19:25:22 · 131 阅读 · 0 评论 -
求给定字符串的最长重复子串及其下标
例:给定字符串“abcdacdac”,返回最长重复子串“cdac”及其下标2。C++代码如下:#include <iostream>#include <cstring>#define MAXSTRLEN 50 //定义所输入串的长度小于50using namespace std;int main(){ char s[MAXSTRLEN]; c原创 2020-11-19 12:10:20 · 1044 阅读 · 3 评论 -
链表实现队列
c++链表实现队列代码如下(注:此代码为依次进队或出队单元素,从队尾进队,从队首出队,详情见文末图片)(考虑了队列为空的情况)#include <stdio.h>#include <iostream>using namespace std;struct node{ int data; struct node *link;};//定义节点类型bool IsEmpty_queue(struct node *head){ if(head==原创 2020-10-31 21:06:02 · 265 阅读 · 0 评论 -
链表实现一元多项式相加(不额外申请节点)
c++链表实现一元多项式相加(不额外申请节点)代码如下:(注:按x的次数从高到低输入)(该代码考虑输入输出为0的情况)#include <iostream>#include <stdio.h>using namespace std;int main(){ struct node{ int coe; int order; struct node *link; };//定义节点类型,coe表示x前的系数,o原创 2020-10-31 18:43:05 · 150 阅读 · 0 评论 -
链表实现一元多项式相加
C++链表实现一元多项式相加代码如下:(输入多项式按次数从高到低排列)#include <iostream>#include <stdio.h>using namespace std;int main(){ struct node{ int coe; int order; struct node *link; };//定义节点类型,coe表示x前的系数,order表示x的次数 int coe,o原创 2020-10-23 19:34:02 · 2496 阅读 · 0 评论 -
链表实现选择排序
C++链表实现选择排序代码如下:#include<iostream>#include<stdio.h>using namespace std;int main(){ struct node{ int data; struct node *link; };//定义节点数据类型 int nodeNum;//输入待建链表节点总数 printf("请输入所建链表节点总数:\n"); scanf("%d",原创 2020-10-22 15:03:01 · 1403 阅读 · 1 评论 -
链表删除一位节点
C++实现链表删除一位节点代码如下:(考虑到空表,待删节点序号超出链表范围两种情况)#include <iostream>#include<stdio.h>using namespace std;int main(){ struct node{ int data; struct node *link; };//定义节点数据类型 int nodeNum;//输入表长,供测试用 printf("请输入表长;原创 2020-10-22 14:47:57 · 254 阅读 · 0 评论 -
数组实现低位优先法分配排序(LSD)
C语言实现低位优先法分配排序(LSD)代码如下:#include<stdio.h>#include<math.h>#define N 10000void LSD(int s[],int n,int digits_max)//自定义低位优先法分配排序函数,s为数组名,n为数组长度,digits_max为数组元素最大位数{ double i; for(i=0;i<digits_max;i++){ int j,k,t,l;原创 2020-10-22 14:31:50 · 507 阅读 · 0 评论 -
折半插入排序
C语言实现折半插入排序代码如下:#include<stdio.h>#define N 10000//定义数组最大长度10000void BinaryInsertSort(int s[],int n)//自定义折半插入排序函数,s为数组名,n为数组长度{ int i,position,t,k;//position为s[i]经折半查找所确定的位置 for(i=1;i<n;i++){//下标从0开始,从i=1开始向前插入 int l=0,r=i;原创 2020-10-22 14:24:11 · 168 阅读 · 0 评论