模拟进程队列管理——进程入队
来源:互联网 发布:教师网络研修收获 编辑:程序博客网 时间:2024/06/06 10:39
1.动态地输入进程队列,如1,3,4,2
2.入队进程x(若有x,则提示已存在)
3.进程入队(放置在队列尾巴):1,3,4,2,x
#include <malloc.h> #include <stdio.h> #include <string.h> #define NULL 0 typedef struct processpcb { int id;/*进程控制块编号*/ struct processpcb *next; }node; int n; node *creat(void) /*建立进程控制块队列表*/ { node *head,*p1,*p2; n=0; printf("Input processpcb table:ID\n"); p1=p2=(node *)malloc(sizeof(node)); scanf("%d",&p1->id); head=NULL; while (p1->id>0) { n=n+1; if (n==1) head=p1; else p2->next=p1; p2=p1; p1=(node *) malloc (sizeof(node)); scanf("%d",&p1->id); } p2->next=NULL; return(head); } node *append(node *head,node *q) /*增加一个进程进入队列*/ { node *p=head; if(!p) return q; else { while(p->next) p=p->next; p->next=q; q->next=NULL; return head; } } void print (node *head) /*输出链表*/ { node *p; p=head; if(!p) printf("链表为空!"); else { printf("元素为:"); while(p) { printf("%5d",p->id); p=p->next; } } } int main() { node *p,*q; int pcbid; p=creat(); printf("\nappend a processpcb\n"); scanf("%d",&pcbid); q=(node *)malloc(sizeof(node)); q->id=pcbid; q->next=NULL; printf("\ninit_processpcb queue is:\n"); print(p); p=append(p,q); printf("\nappend_processpcb queue is:\n"); print(p); }
阅读全文
0 0
- 模拟进程队列管理——进程入队
- 模拟进程队列管理——按照优先级出列
- 模拟进程队列管理——按照优先级入列
- 进程入队
- 模拟进程管理——进程出队
- 进程管理--消息队列
- Linux进程管理—进程管理
- 进程(2)- 进程队列及管理
- 操作系统—进程管理
- 模拟进程调度管理[C#]
- 操作系统——进程管理
- Linux——进程管理
- 进程管理——Supervisor
- 操作系统——进程管理
- 操作系统——进程管理
- linux——进程管理
- Linux内核—进程管理
- Linux系统管理—进程管理
- 分而治之——大整数的算术运算
- 吃糖果
- 解决ajax请求自动增加时间戳问题
- springBoot+devtools实现热部署功能
- Linux多任务编程(一)---任务、进程、线程
- 模拟进程队列管理——进程入队
- Leetcode121 Best Time to Buy and Sell Stock(买卖股票的最佳时机1)
- JAVA中反射
- 多线程
- 《机器学习》阅读心得——十一、特征选择和稀疏学习
- Android源码之路(二.环境配置与整编)
- AndroidStudio中TextView规范
- SQL语句使用02------select语法
- java基础复习2 选择&循环