📄 file.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 10
#define OVERFLOW 0
#define OK 1
struct data{
int ID;
int hour;
int minute;
int Alltime;
}data[SIZE];
typedef struct QNode{
int ID;
int Hour;
int Minute;
int Alltime;
struct QNode * next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
LinkQueue Q;
QueuePtr p,q,s;
int size;
change(int &i){
int l;
int n;
l=data[i].hour;
n=data[i].minute;
n=l*60+n;
return n;
}
void bubble_sort();
EnQueue(LinkQueue &Q,int i);
void file(){
int i=0;
printf("Please input the processes's informations:ID,Hour,Minute,Alltime\n\n");
printf("Attention! ID(number) Hour(0---12) Minute(0---60)\n");
printf("\n If you input the ID=0,you can't input anything!\n\n");
scanf("%d%d%d%d",&data[i].ID,&data[i].hour,&data[i].minute,&data[i].Alltime);
while(data[i].ID!=0)
{ i++;
scanf("%d%d%d%d",&data[i].ID,&data[i].hour,&data[i].minute,&data[i].Alltime);
}
size=i;
bubble_sort();
for(i=0;i<size;i++)
EnQueue(Q,i);
}
void bubble_sort()
{
int swap1,swap2,swap3,swap4;
int i,j;
for(i=size-1;i>0;i--)
for(j=0;j<i;++j)
if(change(j)>change(j+1))
{swap1=data[j].ID;
data[j].ID=data[j+1].ID;
data[j+1].ID=swap1;
swap2=data[j].hour;
data[j].hour=data[j+1].hour;
data[j+1].hour=swap2;
swap3=data[j].minute;
data[j].minute=data[j+1].minute;
data[j+1].minute=swap3;
swap4=data[j].Alltime;
data[j].Alltime=data[j+1].Alltime;
data[j+1].Alltime=swap4;
}
}
LinkQueue InitQueue(LinkQueue &Q){
Q.front=Q.rear=(QueuePtr)malloc(sizeof (QNode));
if(!Q.front)
exit(OVERFLOW);
Q.front->next=NULL;
return Q;
}
EnQueue(LinkQueue &Q,int i){
p=(QueuePtr)malloc(sizeof (QNode));
if(!p)
exit(OVERFLOW);
p->ID=data[i].ID; p->Hour=data[i].hour; p->Minute=data[i].minute; p->Alltime=data[i].Alltime;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -