当前位置: 首页 > news >正文

数据结构第一次实验

删除进程未完成

代码:

#include "stdio.h"
#include <stdlib.h>
#include <conio.h>
#define getpch(type) (type*)malloc(sizeof(type))
#define NULL 0// ¶¨Òå½ø³Ì¿ØÖÆ¿éPCB
struct pcb{// ½ø³ÌÃû×Ö char name[10];// ½ø³ÌÊÇ·ñÔËÐÐ char state;// ½ø³ÌÓÅÏȼ¶Êý int super;int ntime;int rtime;// ÏÂÒ»¸ö½ø³Ì struct pcb* link;
}*ready=NULL,*p,*res;typedef struct pcb PCB;// ½¨Á¢¶Ô½ø³Ì½øÐÐÓÅÏȼ¶ÅÅÁк¯Êý
//void sort(){
//	int l=0;
//	PCB* pr=ready; 
//	while(pr!=NULL){
//		l++;
//		pr=pr->link; 
//	}
//	pr=p;
//	printf("l: %d\n",l);
//}// ·µ»Ø¾ÍÐ÷¶ÓÁеij¤¶È 
int space(){int l=0;PCB* pr=ready;while(pr!=NULL){l++;pr=pr->link;}return(l);
}// °´ÕÕÓÅÏÈÊý½øÐÐÅÅÐò ¿ÉÇÀÕ¼
//void sort(){
//	int len=space();
//	if(len==1){
//		if(ready->super>p->super){
//			p->link=ready;
//			ready=p;
//		}else{
//			ready->link=p;
//		}
//	}
//	else if(len>1){
//		PCB* pr=ready,*qr=ready->link;
//		while(qr!=NULL){
//			if(qr->super>p->super){
//				pr->link=p;
//				p->link=qr;
//				break;
//			}
//			pr=qr;
//			qr=qr->link;
//		}
//		qr=p;
//	}
//	else{
//		ready=p;
//	}
//}
void sort(){int len=space();if(len==1){if(ready->super>p->super){p->link=ready;ready=p;}else{ready->link=p;}}else if(len>1){PCB* pr=ready,*qr=ready->link;while(qr!=NULL){
//			printf("&&&&&&&&&&&&&&&&&&&&&&\n");if(qr->super>p->super){pr->link=p;p->link=qr;break;}pr=pr->link;qr=qr->link;}pr->link=p;}else{ready=p;}// È¥µôÔËÐÐÍêµÄ
//	res=NULL;
//	PCB *rpr=res,*pr=ready,*pp;
//	while(pr!=NULL){
//		if(pr->state=='w'){printf("&&&&&&&&&&&&&&&&&&&&&&\n");
//			pp=pr;
//			pp->link=NULL;
//			rpr=pp;
//			rpr=rpr->link;
//		}
//		pr=pr->link;
//	}
//	ready=res;PCB *pr=ready,*qr;while(pr->state!='w')pr=pr->link;ready=pr;qr=ready->link;while(qr!=NULL){if(qr->state=='w'){pr=qr;pr=pr->link;pr=NULL;}qr=qr->link;}printf("sort-len: %d\n",space());
}// ÕâÑùºÃÏñ¸ü¼òµ¥ 
//void sort(){
//	int len=space();
//	PCB *res=NULL,*rpr=res,*pr=ready;
//	if(len){
//		while(pr!=NULL||p!=NULL){
//			if(pr->state=='R'){
//				if(pr!=NULL&&p!=NULL){
//					if(pr->super>p->super){
//						rpr=p;
//						rpr=rpr->link;
//						p=NULL;
//					}else{
//						rpr=pr;
//						rpr=rpr->link;
//						pr=pr->link;
//					}
//				}else if(pr!=NULL&&p==NULL){
//					rpr=pr;
//					rpr=rpr->link;
//					pr=pr->link;
//				}else{
//					rpr=p;
//					rpr=rpr->link;
//					p=NULL;
//				}
//			}else{
//				pr=pr->link;
//			}
//		}
//	}
//	else{
//		res=p;
//	}
//	ready=res;
//}// ½¨Á¢½ø³Ì¿ØÖƿ麯Êý
void input() { int i,num;printf("\n ÇëÊäÈë½ø³ÌÊýÁ¿?");scanf("%d",&num);for(i=0;i<num;i++){printf("\n ½ø³ÌºÅNo.%d:\n",i);p=getpch(PCB);printf("\n ÊäÈë½ø³ÌÃû:");scanf("%s",p->name);printf("\n ÊäÈë½ø³ÌÓÅÏÈÊý:");scanf("%d",&p->super);printf("\n ÊäÈë½ø³ÌÔËÐÐʱ¼ä:");scanf("%d",&p->ntime);printf("\n");p->rtime=0;p->state='w';p->link=NULL;sort();} 
}// ½¨Á¢½ø³ÌÏÔʾº¯Êý,ÓÃÓÚÏÔʾµ±Ç°½ø³Ì
void disp(PCB * pr){printf("\n qname \t state \t super \t ndtime \t runtime \n");printf("|%s\t",pr->name);printf("|%c\t",pr->state);printf("|%d\t",pr->super);printf("|%d\t",pr->ntime);printf("|%d\t",pr->rtime);printf("\n");
}// ½¨Á¢½ø³Ì²é¿´º¯Êý
void check(){PCB* pr;//ÏÔʾµ±Ç°ÔËÐнø³Ìprintf("\n **** µ±Ç°ÕýÔÚÔËÐеĽø³ÌÊÇ:%s",p->name);disp(p);pr=ready;//ÏÔʾ¾ÍÐ÷¶ÓÁÐ״̬printf("\n ****µ±Ç°¾ÍÐ÷¶ÓÁÐ״̬Ϊ:\n");while(pr!=NULL){disp(pr);pr=pr->link; } 
} // ½¨Á¢½ø³Ì³·Ïûº¯Êý(½ø³ÌÔËÐнáÊø,³·Ïû½ø³Ì)
void destroy(){printf("\n ½ø³Ì [%s] ÒÑÍê³É.\n",p->name);free(p);
}// ½¨Á¢½ø³Ì¾ÍÐ÷º¯Êý(½ø³ÌÔËÐÐʱ¼äµ½,ÖþÍÐ÷״̬
void running(){(p->rtime)++;// µ÷ÓÃdestroyº¯Êýif(p->rtime==p->ntime)destroy();else{(p->super)--;p->state='w';// µ÷ÓÃsortº¯Êýsort();} 
} int main(){int len,h=0;char ch;input();len=space();//	printf("len: %d\n",len);while((len!=0)&&(ready!=NULL)){ch=getchar();h++;printf("\n The execute number:%d \n",h);p=ready;ready=p->link;p->link=NULL;p->state='R';check();running();printf("\n °´ÈÎÒ»¼ü¼ÌÐø......");ch=getchar();}printf("\n\n ½ø³ÌÒѾ­Íê³É.\n"); ch=getchar();return 0;
}/*2
000
0
1
111
1
25
000
0
1
111
1
2
222
2
3
333
3
4
444
4
5*/

相关文章:

数据结构第一次实验

删除进程未完成 代码&#xff1a; #include "stdio.h" #include <stdlib.h> #include <conio.h> #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0// PCB struct pcb{// char name[10];// char state;// int super;int ntime;int …...

.NET WebService \ WCF \ WebAPI 部署总结 以及 window 服务 调试,webservice 的安全验证

一、webservice 部署只能部署IIS上&#xff0c; 比较简单&#xff0c;就不做说明了 安全验证&#xff1a; Formwindow身份加个参数&#xff0c;token 定时更新可以Soapheader 》》》soapheader验证 首先要新建一个类 且这个类必须继承SoapHeader类 且这个类型必须有一个无参…...

自动化运维管理工具 Ansible-----【inventory 主机清单和playbook剧本】

目录 一、inventory 主机清单 1.1inventory 中的变量 1.1.1主机变量 1.1.2组变量 1.1.3组嵌套 二、Ansible 的脚本 ------ playbook&#xff08;剧本&#xff09; 2.1 playbook介绍 2.2playbook格式 2.3playbooks 的组成 2.4playbook编写 2.5运行playbook 2.5.1ans…...

java static 关键字

在Java中&#xff0c;static是一个关键字&#xff0c;用于创建类级别的成员&#xff08;字段、方法、块&#xff09;。static成员属于类本身&#xff0c;而不是类的实例&#xff0c;因此可以直接通过类名访问&#xff0c;而不需要创建类的实例。 1. 静态字段&#xff08;Stati…...

CentOS 磁盘扩容与创建分区

文章目录 未分配空间创建新分区重启服务器添加物理卷扩展逻辑卷 操作前确认已给服务器增加硬盘或虚拟机已修改硬盘大小&#xff08;必须重启服务才会生效&#xff09;。 未分配空间 示例说明&#xff1a;原服务器只有40G&#xff0c;修改虚拟机硬盘大小再增加20G后硬盘变为60G。…...

Java面试八股之什么是Java反射

什么是Java反射 基本概念 反射是Java语言的一个重要特性&#xff0c;它允许我们在运行时分析类、接口、字段、方法等组件的信息&#xff0c;并能够动态地操作这些组件&#xff0c;包括创建对象、调用方法、访问和修改字段值等。简单来说&#xff0c;反射提供了在程序运行时对…...

Netty-面试题(上)(四十九)

为什么Netty适合做网络编程? Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架&#xff0c;用以快速开发高性能、高可靠性的网络 IO 程序。Netty 主要用来做网络通信&#xff0c;一般可以用来作RPC框架的通信工具、实现即时通讯…...

【热门话题】Vue.js:现代前端开发的轻量级框架之旅

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Vue.js&#xff1a;现代前端开发的轻量级框架之旅一、Vue.js概览1.1 Vue.js的诞…...

【LAMMPS学习】八、基础知识(6.5)PyLammps 教程

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…...

GPT-4o正式发布;零一万物发布千亿参数模型;英国推出AI评估平台

OpenAI 正式发布 GPT-4o 今天凌晨&#xff0c;OpenAI 正式发布 GPT-4o&#xff0c;其中的「o」代表「omni」&#xff08;即全面、全能的意思&#xff09;&#xff0c;这个模型同时具备文本、图片、视频和语音方面的能力&#xff0c;甚至就是 GPT-5 的一个未完成版。 并且&…...

多模态大语言模型的演化:综述

24年2月意大利三所研究大学和机构的论文“The Evolution of Multimodal Large Language Models: A Survey”。 连接文本和视觉模态在生成智能中起着至关重要的作用。由于这个原因&#xff0c;在大语言模型成功的启发下&#xff0c;大量的研究工作被投入到多模态大语言模型&…...

Qt---绘图和绘图设备

一、QPainter绘图 绘图事件 void paintEvent() 声明一个画家对象&#xff0c;OPainter painter(this) this指定绘图设备 画线、画圆、画矩形、画文字 设置画笔QPen 设置画笔宽度、风格 设置画刷QBrush 设置画刷风格 代码示例&#xff1a; #includ…...

【2024】前端,该卷什么呢?

✅顺便推个机会&#xff0c;技术大厂&#xff0c;部门捞人&#xff0c;前后端可投。 2024ChatGPT 的炸裂式发展&#xff0c;很多大佬都亲自入场整活儿&#xff0c;你不得不说&#xff0c;人工智能时代的未来已来&#xff0c;大势所趋&#xff0c;不可阻挡。随着生成式AI的迅猛发…...

C++干货--引用

前言&#xff1a; C的引用&#xff0c;是学习C的重点之一&#xff0c;它与指针的作用有重叠的部分&#xff0c;但是它绝不是完全取代指针(后面我们也会简单的分析)。 引用的概念&#xff1a; 引用 不是新定义一个变量 &#xff0c;而 是给已存在变量取了一个别名 &#xf…...

部署 Sentinel 控制台:实现流量管理和监控

序言 Sentinel 是阿里巴巴开源的一款流量防护与监控平台&#xff0c;它可以帮助开发者有效地管理微服务的流量&#xff0c;实现流量控制、熔断降级、系统负载保护等功能。本文将介绍如何在项目中部署和配置 Sentinel 控制台&#xff0c;实现微服务的流量防护和监控。 一、Sen…...

10、Go Gin 连接Redis以及CookieSession

一、Redis 在Go语言中&#xff0c;使用Gin框架结合Redis数据库可以构建高性能的Web应用程序。Gin是一个轻量级的HTTP框架&#xff0c;提供了快速构建RESTful API的能力&#xff1b;而Redis则是一个高性能的键值存储系统&#xff0c;常用于缓存、消息队列、计数器等多种场景 1、…...

Electron-Vue 脚手架避坑实录,兼容Win11,升级electron22,清理控制台错误

去年的还是有用的&#xff0c;大家继续看&#xff0c;今年再补充一些Electron-Vue 异常处理方案 M1 和 Window10_electron异常处理-CSDN博客 代码gitee.com地址 electron-demo: electron 22 初始代码开发和讲解 升级electron为22版本&#xff08;这个版本承上启下&#xff0c…...

国外新闻媒体推广:多元化媒体分发投放-大舍传媒

前言 &#xff1a;随着全球化的进程&#xff0c;国外新闻市场呈现出快速发展的趋势。在这个趋势下&#xff0c;国外新闻媒体推广成为了各行业企业宣传业务的重要一环。本文将重点介绍大舍传媒的多元化媒体分发投放服务&#xff0c;以及对国外新闻媒体推广的意义。 1. 多元化媒…...

【Windows】回忆Win98

回忆Win98&#xff0c;又看到了这个Excel界面&#xff0c;上次还是十多年前的计算机课上 1、安装环境 Win11家庭版,23H2,VMware Workstation Pro 16 , 2、安装步骤及参考 虚拟机里的硬盘设置成SATA&#xff08;否则各种错误&#xff09;&#xff0c;安装MSDOS7.1&#xff…...

探索QChart:Qt中的数据可视化艺术

目录标题 1. QChart概述2. 创建QChart对象3. 添加数据系列&#xff08;Series&#xff09;4. 定制图表外观5. 交互与动画6. 图表布局与管理7. 实例代码与解析8. 总结 在数字化的世界里&#xff0c;数据是新的石油。然而&#xff0c;原始数据本身往往难以理解&#xff0c;数据可…...

洛可可≠堆砌!从构图节奏、卷草纹矢量逻辑到S形动线设计,深度拆解Midjourney生成真·18世纪法式优雅的4大底层规则

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;洛可可≠堆砌&#xff01;从构图节奏、卷草纹矢量逻辑到S形动线设计&#xff0c;深度拆解Midjourney生成真18世纪法式优雅的4大底层规则 洛可可风格的本质不是装饰元素的无序叠加&#xff0c;而是以数学韵律…...

FastAdmin旧版本CVE-2024-7928任意文件读取漏洞实战修复指南

1. 这个漏洞不是“能读任意文件”那么简单&#xff0c;而是整个权限体系的崩塌起点FastAdmin 是国内 PHP 后台开发领域使用率极高的开源框架&#xff0c;尤其在中小型企业定制化管理后台、政企内部系统、电商中台等场景中&#xff0c;大量项目仍基于 v1.3.x ~ v1.4.5 版本运行。…...

UE5安装避坑指南:从Launcher到C++编译的完整环境配置

1. 这不是“点下一步就行”的安装&#xff1a;UE5下载安装背后的真实门槛很多人第一次点开Epic Games官网&#xff0c;看到那个醒目的“Download Engine”按钮&#xff0c;下意识觉得&#xff1a;“不就是个游戏引擎安装包&#xff1f;跟装微信、装PS差不多&#xff0c;双击→下…...

pytest Code Review skill.md

Skills 架构设计 本文深入探讨 Agent Skills 的技术架构和设计理念&#xff0c;帮助你理解 Skills 如何高效地扩展 Claude 的能力。 核心设计理念 Agent Skills 采用**渐进式披露&#xff08;Progressive Disclosure&#xff09;**架构&#xff0c;这是一种现代软件工程中的…...

LeetCode 15:三数之和 | 双指针法详解与进阶应用

LeetCode 15&#xff1a;三数之和 | 双指针法详解与进阶应用 引言 三数之和&#xff08;3Sum&#xff09;是 LeetCode 中一道经典的高频面试题&#xff0c;编号为 15&#xff0c;属于 Medium 难度范畴。这道题的核心要求是在一个整数数组中找出所有不重复的三元组&#xff0c;使…...

ElevenLabs波斯文TTS落地难题全破解:从Unicode乱码、音节切分失败到自然语调合成的5大技术卡点

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;ElevenLabs波斯文TTS落地难题全破解&#xff1a;从Unicode乱码、音节切分失败到自然语调合成的5大技术卡点 波斯文&#xff08;Farsi&#xff09;作为右向左&#xff08;RTL&#xff09;、连字密集、元音隐含…...

涡流检测驱动的发动机气门硬度分选技术【附算法】

✨ 长期致力于核环境机器人、机器人运动学、机械臂振动抑制、自适应动力学控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;核辐射环境下涡流检测机…...

2026有赞春季发布会:有效果的AI驱动增长,智能体和数字员工交出成绩单

5月21日&#xff0c;有赞2026年春季发布会在杭州举办&#xff0c;主题是“有效果的AI”。过去一年&#xff0c;有赞智能体和数字员工已经迈入交付结果的新阶段。数据显示&#xff0c;2025年有赞AI智能体活跃使用商家18220个&#xff0c;整体调用量超3600万次&#xff0c;引导成…...

fltk-rs常见问题解决方案:从编译错误到运行时问题的全面排查

fltk-rs常见问题解决方案&#xff1a;从编译错误到运行时问题的全面排查 【免费下载链接】fltk-rs Rust bindings for the FLTK GUI library. 项目地址: https://gitcode.com/gh_mirrors/fl/fltk-rs fltk-rs是Rust语言的FLTK GUI库绑定&#xff0c;为开发者提供了轻量级…...

JetBrains IDE试用期重置终极指南:轻松解决IDE过期问题

JetBrains IDE试用期重置终极指南&#xff1a;轻松解决IDE过期问题 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否曾经遇到过这样的困扰&#xff1a;正在专注编码时&#xff0c;突然弹出的"试用期已结…...