自定义博客皮肤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)
  • 收藏
  • 关注

原创 编写四个多线程

编写4个线程,第一个线程从1加到25,第二个线程从26加到50,第三个线程从51加到75,第四个线程从76加到100,最后再把四个线程计算的结果相加。

2022-11-03 19:58:43 852

原创 多线程计算

例题:已知某学校有n名教师,学校有m名学生,学校搞学生民意调查,每一位学生为每一位老师都打分,学生所打的所有的分数都集中到一个数组中。数据存放规律是,前m个数据是对1号老师的打分,接下来m个数据是对2号老师的打分,以此类推。请设计一个多线程的算法,计算出每一位老师的总打分。第一行输入教师数,第二行输入学生数,第三行输入所有n*m个打分(整型),各个分数之间以一个空格分隔。按照教师原来的顺序,每行输出每一位老师的得分。二、Runnable接口实现多线程。一、Thread类实现多线程。在这里给出相应的输出。

2022-10-29 13:29:05 491

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

邻接表:数组与链表相结合的存储方法2、初始化3、判断是否为空4、添加和删除5、计算邻接表6、打印邻接表7、广度遍历8、样例测试9、运行结果

2022-05-31 21:25:13 254

原创 数据结构7.1图的遍历

什么是图?图(Graph)是由顶点 (Vertex) 的有穷非空集合 和顶点之间 边 的集合组成,通常表示为:G(V, E) , 其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。|V|表示图G中顶点的个数,也称为图G的阶;|E| 表示图G中边的条数。V 2、定义结构体3、初始化4、深度遍历DFS算法是一个递归算法,需要借助一个递归工作栈,故其空间复杂度为O ( V ) O(V)O(V)。对于n个顶点e条边的图来说,邻接矩阵由于是二维数组,要查找每个顶点的邻接点需要访问矩阵

2022-05-31 21:16:07 128

原创 数据结构C代码哈夫曼树

哈夫曼树步骤:第一步:找出字符中最小的两个,小的在左边,大的在右边,组成二叉树。在频率表中删除此次找到的两个数,并加入此次最小两个数的频率和。然后重复第一步。一、代码#include <stdio.h>#include <stdlib.h>#include <string.h> typedef double DataType; //结点权值的数据类型 typedef struct HTNode //单个结点的信息{ DataType weight

2022-05-29 18:38:57 4271 2

原创 数据结构N后问题

一、代码学习1、什么是N后问题2、算法3、分配空间和初始化4、输出5、总代码6、运行结果1、什么是N后问题在nn格子上放置n个皇后, 按照国际象棋规矩不可让皇后相互攻击, 即如何两个皇后不放在同一列同一行同一斜线上。例:44的N后问题2、算法1、列冲突, 即(paraSolution[j] == paraSolution[paraT])2、斜线冲突,即(abs(paraT - j) == abs(paraSolution[j] - paraSolution[paraT]))int place

2022-05-27 21:20:40 75

原创 数据结构C代码6.1:二叉树

一、代码学习1、结构体定义2、初始化3、判断队列是否为空4、结点入队列5、删除结点6、构造结点7、字符串转化为二叉树8、四种遍历9、测试用例11、运行结果12、总结1、结构体定义typedef struct BTNode { char element; BTNode* left; BTNode* right;}*BTNodePtr;typedef struct BTNodePtrQueue{ BTNodePtr* nodePtrs; int front; int rear;}BT

2022-05-24 19:07:54 188

原创 数据结构 C 代码 5.2: 压缩矩阵的转置

代码学习1、建立结构体2、初始化3、转置4、打印5、样例测试6、结果1、建立结构体#include <stdio.h>#include <malloc.h>typedef int elem;//定义三元组结构 typedef struct Triple{ int i; int j; elem e;} Triple, *TriplePtr;//定义压缩矩阵 typedef struct CompressedMatrix{ int

2022-05-19 21:14:22 79

原创 数据结构 C 代码 5.1: 二维数组与矩阵乘法

一、代码学习1、什么是二维数组2、创建数组3、初始化4、生成随机数5、打印6、矩阵相乘7、打印地址8、测试样例及结果1、什么是二维数组二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名【常量表达式】【常量表达式】。二维数组又称为矩阵,行列数相等的矩阵称为方阵。2、创建数组这里分为了动态和静态两个写法。动态分配空间中运用到了指向指针的指针int**。int*与int**两种形式区别就在于:指针指向的内容的类型不同,一个指向int类型一个指向int * 类型。这种静态分

2022-05-19 16:20:18 354

原创 数据结构C代码:队列

Q:什么是队列?A: 队列是一种先进先出的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。假设队列是q=(a1,a2,…,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,列在最后。这也比较符合我们通常生活中的习惯,排在第一个的优先出列,最后来的当然排在队伍最后。如图所示:链式队列的时间复杂度为O(1)。一、代码学习1、链队列(1)建造结构体(2)初始化(3)入队(4)出队(5)样例测试及结果2、循环队列(1)构建结构体(2)初始化(3)入队(4

2022-05-17 13:46:04 259

原创 数据结构C代码递归:累加+汉诺塔

一、代码学习1、累加的递归实现2、汉诺塔问题递归的关键有两个:(1)递归的结束条件(2)递归最后一层和其他有关系的层的关系怎样用非递归函数来表达1、累加的递归实现#include<stdio.h>//递归函数int addTo(int paraN){ int tempSum; printf("entering addTo(%d)\r\n",paraN); if(paraN <= 0) { printf(" return 0\r\n"); return 0;

2022-05-12 12:49:21 568

原创 表达式求值

一、学习代码(C++)#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(); num

2022-05-10 19:34:11 89

原创 数据结构C代码栈及括号匹配

一、代码学习1、构建栈2、栈的初始化3、进栈4、出栈5、输出栈6、栈的应用---括号匹配7、总代码8、运行结果1、构建栈typedef struct CharStack{ int top; int data[MAXSIZE];}*CharStackPtr;2、栈的初始化//初始化CharStackPtr initStack(){ CharStackPtr newPtr = (CharStackPtr)malloc(sizeof(struct CharStack)); newPtr-

2022-05-10 15:38:27 1224

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

代码学习1、创建链表2、链表的初始化3、添加元素4、多项式相加5、完整代码6、运行结果1、创建链表typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;}*LinkList, *NodePtr;2、链表的初始化LinkList initLinkList(){ LinkList tempHeader = (LinkList)malloc(sizeof(struct LinkNode))

2022-05-05 20:47:02 88 1

原创 数据结构C代码:静态链表

一、代码学习1、创建链表2、链表的初始化3、插入元素4、删除元素5、完整代码6、样例测试1、创建链表这里将静态链表的最大空间设置成20个结点(未申请结点+已申请结点)#define DEFAULT_SIZE 5typedef struct StaticLinkedNode{ char data; int next;} *NodePtr;typedef struct StaticLinkedList{ NodePtr nodes; int* used;} *ListPtr;2、

2022-05-03 14:11:14 180 1

原创 数据结构C代码2.3:双向链表

一、代码学习1、创建双向链表2、双向链表的初始化3、双向链表在指定位置插入新元素4、双向链表删除指定元素5、寻找指定元素的位置6、完整代码7、样例测试结果二、总结1、创建双向链表双向链表每个结点除了存储数据data外,还有两个指针记录上一个结点和下一个结点的地址,分别是前驱指针previous和后继指针next。typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct Double

2022-05-03 13:49:24 310 1

原创 数据结构C代码2.2:单链表

文章目录代码临摹链表创建链表结点添加链表结点删除代码临摹#include<stdio.h>#include<malloc.h>/*Linked list of characters.The key is date.*/typedef struct LinkNode{ char data; struct LinkNode *next;} LNode, *LinkList, *NodePtr;/*Initialize the list with a head

2022-04-29 13:42:22 851

原创 数据结构C代码1:顺序表

线性表线性表是零个或多个元素组成的有限序列。线性表分为顺序表和链表。顺序表顺序表是线性表的子集, 对于顺序表来说用一段物理地址连续的存储单元依次存储数据元素, 通常使用数组存储, 并在数组上完成数据的操作。一般分为静态顺序表和动态顺序表:静态顺序表: 使用定长数组存储 动态顺序表: 使用动态开辟内存的数组存储, 比如说vector代码#include <stdio.h>#include <malloc.h>#define LIST_MAX_LENG

2022-04-25 20:07:29 57

空空如也

空空如也

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

TA关注的人

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