自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java常用的加密技术

【代码】Java常用的加密技术。

2024-01-12 17:12:15 446

原创 图的代码实现

图(graph)G是由两个集合V(vertex)和E(edge)组成,记为G=(V,E),其中V是顶点的有限集合,记为V(G),E是连接V中两个不同顶点(顶点对)的边的有限集合,记为E(G)。#define INFINATEMINIMAL -65535 //定义图顶点value值的最小值//图顶点的value值//图顶点的key值}Vertex;//顶点集合int *edges;//边集合//顶点数//边数//顶点的最大容量}MatGraph;

2023-12-09 22:36:16 418

原创 哈夫曼树的代码实现

哈夫曼树(Huffman Tree)是一种二叉树,用于编码和解码数据。它是由David A. Huffman于1952年提出的。

2023-11-23 08:59:35 418

原创 java自定义组件的设计代码雨(下)

该项目纯粹个人心血来潮。如感兴趣可以参考参考。可能有设计上的缺陷。希望大家提出合理简介。日后我也好好改进一下。

2023-10-28 18:21:11 104

原创 java自定义组件的设计代码雨

临近毕业设计,想搞一下java方面的组件代码。前面已学过java的接口技术(比如jni和jna)。jni性能虽好但是要想用java代码调用c/c++写的函数需要先写一个包含原始方法(native)的类,然后需要用javah生成头文件,接着需要实现头文件里的函数,最后需要用gcc或g++编译工具生成动态链接库。因此此次组件采用更为简单的jna框架实现。虽然性能较jni稍微比较弱,尤其是在自定义数据类型比如结构体或联合体等等因转换成native可识别的数据类型造成的性能损失。

2023-10-28 18:05:25 174 2

原创 C++数据结构函数库的dll设计与封装

假如有一些由C++编写的函数库,现需要设计一种接口,使得python可以调用C++编写的函数库以及在python内通过类和对象封装代码实现逻辑。从而简化python代码的逻辑实现和提高运行速度和效率。最终发布已封装的pypi包。

2023-08-09 13:18:57 263

原创 循环单链表的代码实现

循环链表(Circular Linked List)是另一种形式的链式存储结构。其特点是表中最后一个节点的指针域指向头节点,整个链表形成一个环。由此,从表中任意节点出发均可以找到表中其他节点,下图所示为单链的循环链表。类似地,还可以有多重链的循环链表。循环单链表的操作和单链表基本一致,差别仅在于:当链表遍历时,判断当前指针p是否指向表尾结点的终止条件不同。在单链表中,判断条件为p!=NULL或p->next!=NULL,而循环单链表的判别条件为p!=L或p->next!

2023-08-05 10:08:13 97

原创 单链表的代码实现(下)

上篇单链表中提到了带头节点的单链表,众所周知头节点是在首元节点之前附设的一个节点,其指针域指向首元节点。头节点的数据域可以不存储任何信息,也可存储与数据元素类型相同的其他附加信息。那么一个单链表如果不带头结点只包含由数据域和指针域组成的若干个节点那会是什么情况呢?因此不带头节点的单链表与带头结点的单链表相比提高了空间利用率。单链表中元素结点的遍历需要用到头指针。一个单链表可以没有头结点,但不能没有头指针。

2023-08-04 07:50:15 62

原创 双链表的代码实现(上)

双链表,又称双向链表。顾名思义,和单链表的数据组织形式一样,有指针域和数据域。只不过和单链表不同的是双链表拥有两个指针域分别指向前驱结点(直接前驱)和后继结点(直接后继)。因此与单链表相比,双链表中访问一个结点的前、后结点更方便。

2023-08-04 07:49:25 102

原创 双链表的代码实现(下)

上篇双链表中提到了带头节点的双链表,众所周知头节点是在首元节点之前附设的一个节点,其指针域指向首元节点。头节点的数据域可以不存储任何信息,也可存储与数据元素类型相同的其他附加信息。那么一个双链表如果不带头结点只包含由数据域和指针域组成的若干个节点那会是什么情况呢?因此不带头节点的双链表与带头结点的双链表相比提高了空间利用率。双链表中元素结点的遍历需要用到头指针。一个双链表可以没有头结点,但不能没有头指针。

2023-08-04 07:49:13 66 1

原创 循环双链表的代码实现

循环双链表,是一种链式存储结构的线性表,它具有两个指针域(一前一后分别是指向当前结点的直接前驱和直接后继),一个数据域。它与普通的双链表不同的是,头结点的直接前驱不再是NULL,而是该双链表的尾结点。而尾结点的直接后继也不再是BULL,而是该双链表的头结点。除了判断表是否为空、遍历表元素等操作的判断条件有所变化其余的操作(如插入,删除等等)和一般的双链表一样。

2023-08-04 07:49:00 91 1

原创 顺序栈的代码实现

顺序栈是指利用顺序存储结构实现的栈,即利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素在顺序栈中的位置。base为栈底指针,初始化完成后,其栈底指针指向栈底。每当插入新的元素时指针top增1;删除栈顶元素时指针top减1,因此栈空时,top和base的值相等,都指向栈底,栈非空时,top始终指向栈顶元素的上一个位置。stacksize表示栈的可容纳元素的最大容量。因此,对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头段称为栈底(bottom)。

2023-08-04 07:48:44 581 8

原创 链栈的代码实现

链栈是指采用链式存储结构实现的栈。通常链栈用单链表来表示,链栈的节点结构与单链表的结构相同,在此用Node表示。Node中的elem表示数据元素(数据域),next表示指向下一节点(直接后继)的指针。头节点中的数据域表示链栈最大可用容量。

2023-08-04 07:48:31 179 1

原创 顺序队列的代码实现

和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存储从队头到队尾的元素外,尚需附设两个整形变量front和rear分别指示队头元素及队尾元素的位置。附设整型变量size用来表示队列的最大存储元素个数。队列的操作与栈的操作类似,不同的是,删除是在表的头部(队头)进行的。队列也有两种存储表示,顺序表示和链式表示。

2023-08-04 07:48:18 156 1

原创 循环队列的代码实现

和顺序队列相类似,在循环队列的顺序存储结构中,除了用一组地址连续的存储单元依次存储从队头到队尾的元素外,尚需附设两个整形变量front和rear分别指示队头元素及队尾元素的位置。附设整型变量size用来表示队列的最大存储元素个数。附设tag用来判断入队和出队的操作。

2023-08-04 07:48:04 175 1

原创 链队列的代码实现

一般的链队采用的是带头结点的单链表。而且要用头指针front指向单链表的头结点,尾指针rear指向单链表的尾结点。因此入队操作就相当于单链表的尾插操作,出队操作就相当于单链表的首元结点的删除操作。队列有顺序存储结构和链式存储结构,前两篇讲的队列不管是顺序队列还是循环队列它们的存储结构都属于顺序存储结构。本篇讲解链式存储结构的队列(简称链队列或链队)。C语言(LinkedQueue)

2023-08-04 07:47:51 137 1

原创 单链表的代码实现(上)

提起单链表,单链表虽然是线性表的一种数据结构,只不过是一种链表,它的链接方向是单向的,并且用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素Ai与其直接后继数据元素Ai+1之间的逻辑关系,对数据元素Ai来讲,除了存储其本身的信息外,还需存储一个指示其直接后继的信息(直接后继元素的存储位置)。头节点的数据域可以不存储任何信息,也可存储与数据元素类型相同的其他附加信息(例如单链表的长度等等)。若链表设有头节点,则头指针所指节点为线性表的头指针;

2023-08-03 10:26:19 90

原创 二叉树的代码实现

二叉树(Binary Tree)是n(n≥0)个节点所构成的集合,它或为空树(n=0),或为非空树。对于非空树T:(1)有且仅有一个称之为根的节点;(2)除根节点以外的其余节点分为两个互不相交的子集T1和T2,分别称为T的左子树和右子树,且T1和T2本身又都是二叉树。二叉树与树一样具有递归性质,二叉树与树的区别主要有以下两点:(1)二叉树每个节点至多只有两棵子树(二叉树中不存在度大于2的节点);(2)二叉树的子树有左右之分,其次序不能任意颠倒。二叉树的递归定义表明二叉树或为空,或由一个根节点加上

2023-08-03 10:25:28 527

原创 顺序表的代码实现

顺序表的不同代码实现

2023-08-03 10:24:56 114

原创 数据结构的概述

数据结构

2023-08-03 10:24:18 255

原创 C语言与批处理命令实现简单的文件目录管理

利用C语言与批处理命令实现简单的目录管理。

2023-08-03 10:23:43 162

原创 利用批处理命令操作FTP服务器

利用批处理命令操作FTP服务器

2023-08-03 10:22:12 2719

原创 Java之利用双链表实现学生成绩管理系统

我定义了包名为DataStructure.LinearList的java包,在包里定义了双链表的数据组织形式LinkedList1.java,接着又定义了双链表的实现类DoubleLinkedList.java。并写一个实现类用来实现管理系统。然后再把焦点转移至实现类的代码上。这里又额外导入了java.util.Date包用来实现日期显示。导入java.util.Scanner包用来实现接受用户输入。花了一晚上的时间(大约从22点到0点55分)。我总算是写出来了一个用来管理学生成绩欣喜的系统。

2023-08-03 10:21:20 139 1

原创 文件分离器(Windows系统环境下运行)

文件分离器

2023-08-03 10:20:11 664

原创 网络爬虫之多进程多线程批量下载与合并ts视频文件

其次是代码工作原理的讲解,和之前的文章工作的原理差不多,只不过多了目录的操作以及使用了进程通信机制之一:消息队列。生产者进程负责向队列中添加某一集的视频信息(也就是大约1000多个ts视频文件的编号,爬取地址等等),消费者进程负责取出队列中的某一集信息并交给多个线程进行爬取。假如一部剧有48集,那么最后阶段的合成部分将会开启大约100个进程,一半进程是python程序的合成进程(comband_process),另一半为每个合成进程调用的Windows命令处理程序(批处理命令如copy、move等)。

2023-08-02 12:35:18 795 1

原创 网络爬虫之爬取ts分片视频并批量合并

大致思路就是把一个视频所有的ts文件对应的文件信息类列表分段成一个个小的列表。但是缺点也很明显:ts文件的数量与m3u8文件的文件信息数对不上以至于漏爬。已知copy /b source destination指令合并ts文件的能力有限,但我可以使用循环语句将多个视频合并成多个小段,然后再把多个小段慢慢合并成一个完整的视频文件。大部分的视频网站加载视频都会以文件后缀名为m3u8的文本内容来动态加载ts格式的碎片视频。然后通过for循环将视频文件对应的文件信息类装入到列表里并在最后返回列表类型的数据。

2023-07-22 10:49:55 1243 1

空空如也

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

TA关注的人

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