自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 day6.

【代码】day6.

2023-12-01 21:55:48 28

原创 弗洛伊德算法

最短路径问题:弗洛伊德算法--3for算法。

2023-12-01 16:45:35 206

原创 迪杰斯特拉算法

核心算法:通过三个辅助数组,初始化完成后,循环依次把到各个结点的最短路径进行更新,最终通过D数组完成对最短路径值的记录。迪杰斯特拉算法--最短路径问题。

2023-11-22 20:02:40 80

原创 克鲁斯卡尔算法

关键点:辅助数组:用于保存连通分量,来判断边是否连通。克鲁斯卡尔算法--最小生成树的算法。

2023-11-21 16:32:13 307

原创 day8--消息队列

为IPC_NOWAIT时,当消息队列已满的时候,msgsnd函数不等待立即返回。cmd 要执行的操作 IPC_STAT / IPC_SET / IPC_RMID(删除)IPC_NOWAIT:如果没有返回条件的消息调用立即返回,此时错误码为ENOMSG。注意:消息结构必须有long类型的msg_type字段,表示消息的类型。为0时,当消息队列满时,msgsnd将会阻塞,直到消息能写进消息队列。msgtype > 0:收到的第一条msg_type类型的消息。消息长度不包括首类型long。

2023-11-19 22:35:25 20

原创 普里姆算法

代码中的数据如图所示。

2023-11-19 08:38:29 129

原创 day6--哈夫曼树

1.从权值集合中选择权值最小的两个结点,构造一棵二叉树,根结点的权值为其左、右子树根结点权值之和。2.删除这两个结点,将新生成的根结点加入到权值集合中。3.重复以上步骤,直到权值集合中只剩下一个结点为止。

2023-11-18 15:23:06 19

原创 day7进程间通讯--信号机制

0:发送信号给跟调用kill函数的那个进程处于同一进程组的进程。< -1: 取绝对值,发送信号给该绝对值所对应的进程组的所有组员。= -1:发送信号给,有权限发送的所有进程。概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。该信号在用户终端关闭时产生,通常是发给和该。该信号在一个进程企图执行一条非法指令时产生。该信号在非法访问内存时产生,如野指针、缓。该信号用来结束进程,并且不能被捕捉和忽略。该信号用于暂停进程,并且不能被捕捉和忽略。该信号用于暂停进程,用户可键入。

2023-11-15 22:51:51 361

原创 Sqlite

3-- 查看数据库记录。2-- 插入一条记录。4-- 删除一条记录。5-- 更新一条记录。

2023-11-14 17:56:41 230

原创 day5--图的创建与DFS和BFS遍历

BFS利用数据结构队列(queue)实现,空间复杂度为O(2^n),另外BFS可以用来解决最短路问题。DFS使用数据结构栈(stack)或递归实现,其空间复杂度为O(n)

2023-11-12 22:07:04 107

原创 C++通讯录管理系统(适合作为期末作业)

无脑复制,直接提交作业,有问题留言!通讯录的增删改查等操作。

2023-11-04 12:57:09 106 1

原创 C++STL库函数的基本使用

算法竞赛常用的STL库函数。

2023-11-03 18:06:20 99 1

原创 day5.

gets(s);for(i=len;i>=0;break;bool cmp(int x,int y){ //自己定义的排序方法,使用起来更灵活return x<y;int i;for(i=0;i<10;i++)//排序for(i=0;i<10;

2023-11-02 21:50:33 33 1

原创 day4.

【代码】day4.

2023-11-02 00:21:07 77 1

原创 day3.

【代码】day3.

2023-10-30 23:31:38 27 1

原创 day6--进程间的通信

失败:-1,设置errno。套接字(socket)--主流的一个通信方式,后续网络专栏会详细介绍。概念:进程间通信就是进程和进程之间交换信息。消息队列(message queue)信号灯集(semaphore set)共享内存(share memory)有名管道 (fifo)无名管道(pipe)信号(signal)共享内存(mmap)过时的IPC通信方式。

2023-10-30 22:20:58 114 1

原创 day2.

【代码】day2.

2023-10-28 20:30:20 85 1

原创 day1.

【代码】C语言蓝桥杯。

2023-10-26 21:30:58 28 1

原创 day4--二叉排序树

【代码】day4--二叉排序树。

2023-10-26 20:59:18 83 1

原创 day5--条件变量&&线程池

所以pthread_cond_wait 和 pthread_mutex_lock 必须配对使用。//第一个参数是初始化的条件变量,第二个参数是初始化的互斥量。动态初始化互斥量:pthread_cond_init(&cond);如果有资源,就pthread_mutex_lock。休眠,等资源到了,再。

2023-10-23 21:59:41 88

原创 day4--线程的取消与互斥锁

/随时杀死一个线程注:线程的取消要有取消点才可以,不是说取消就取消,线程的取消点主要是阻塞的系统调用,例如sleep();如果没有取消点,手动设置一个设置取消允许或禁止//第二个参数通常为NULLPTHREAD_CANCEL_ENABLE //可以被取消PTHREAD_CANCEL_DISABLE //不能被取消设置取消类型//第二个参数通常为NULL。

2023-10-21 23:57:21 75 1

原创 day3--线程的创建与回收

/线程的退出,可以达到清理线程的作用,建议使用它退出线程,不建议使用return 退出线程。//放在线程函数开始处即可,获取线程ID后,等待线程结束并该回收线程。概念:Linux内核没有线程,线程是pthread库提供的,同一进程中的线程共享相同的地址空间。注:pthread_join 是阻塞函数,如果回收的线程没有结束,则主函数一直等待。2、简单的方式:会有警告,但是可以运行,需要程序员保证长度不丢失。attr 线程属性,NULL代表默认属性。1. 主进程的退出,它创建的线程也会退出。

2023-10-19 23:43:16 104

原创 day3--线索二叉树

【代码】day3--线索二叉树。

2023-10-18 22:15:14 87

原创 day2--exec函数族+守护进程+GDB调试多进程

创建进程之后,子进程和父进程执行相同的代码,但是在实际开发当中,我们希望父子进程执行不同的代码。进程当前被括号内指定的程序替代,但是进程号不变。注:exec函数最后都是NULL空指针作为结束。

2023-10-16 21:03:27 133 1

原创 day1--进程的创建与回收

/父进程返回子进程的ID号,子进程返回0。若父进程先结束,子进程成为孤儿进程,被init进程收养,子进程变成后台进程。程序:存放在磁盘上的指令和数据的有序集合(静态的),包括BSS、DS,CS段。若子进程先结束,父进程如果没有及时回收,子进程变成僵尸进程。进程类型:交互进程(前台)、批处理进程(作业对列)、守护进程(后台)进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;成功时父进程返回子进程的进程号,子进程返回0。进程控制块(pcb):PID, 进程优先级,文件描述符表。

2023-10-15 23:03:13 30 1

原创 kmp算法

/获取next数组内容。//输出next数组内容。

2023-10-15 09:56:11 21 1

原创 字符串暴力匹配算法

void matching_string(String* s1,String* s2) {//核心算法。while (i < s1->lenght && j < s2->lenght) {//易错点。void Add_string(String* s, char* data) {//给字符串添加内容。if (s->data) //如果字符串中有数据就释放掉。if (j==s2->lenght)//易错点。

2023-10-15 09:54:32 24

原创 day2--非递归遍历二叉树(利用链式栈实现)

if(top->rchild && top->rchild->flag==0){//判断是否有右子树和是否被访问过。//让flag置1--表示当前右子树已被访问。

2023-10-15 09:46:32 108

原创 day1--树的层次遍历(利用双循环链表队列实现)

/3、Q->pre就是最后一个结点,然后再指向next,就是最后一个结点和新结点的连接。//3、让第一个结点的next指向最后一个结点。if (temp->Data->lchild) { //此结点的左子树如果不为空就入队。if (temp->Data->rchild) { //此结点的右子树如果不为空就入队。//1、新结点的pre指向最后一个结点。Q->next=Q;

2023-10-14 22:19:34 194

原创 day1--二叉树的创建与遍历

/二叉树的先序遍历。//二叉树的中序遍历。//二叉树的后序遍历。

2023-10-14 17:12:54 45 1

空空如也

空空如也

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

TA关注的人

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