91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 48KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: 其他
  • 標簽:

資源簡介

這是一個關于渡口調度管理的數(shù)據(jù)結構實驗代碼,主要隊列和棧的應用。

資源截圖

代碼片段和文件信息

?#include?
?#include?????????/*?malloc()等?*/
?#include?????????/*?EOF(=^Z?或?F6)NULL?*/
?#include
?#include???????/*?atoi()?*/
?#include???????????/*?eof()?*/
?#include????????/*?floor()ceil()abs()?*/
?#include?????/*?exit()?*/
?//?函數(shù)結果狀態(tài)代碼
?#define?TRUE?1
?#define?FALSE?0
?#define?OK?1
?#define?ERROR?0
?typedef?int?Status;?//?Status是函數(shù)的類型其值是函數(shù)結果狀態(tài)代碼,如OK等
?typedef?int?SElemType;?//?定義棧元素類型為整型?
?typedef?int?QElemType;?//定義隊列元素類型為整型


?//----------棧的順序存儲表示----------
?#define?STACK_INIT_SIZE?10?//?存儲空間初始分配量
?#define?STACK_INCREMENT?2?//?存儲空間分配增量
?struct?SqStack
?{
???SElemType?*base;?//?在棧構造之前和銷毀之后,base的值為NULL
???SElemType?*top;?//?棧頂指針
???int?stacksize;?//?當前已分配的存儲空間,以元素為單位
?};?//?順序棧


?//----------基本操作的算法描述(部分)----------
?Stauts?InitStack(SqStack?&S)
?{?//?構造一個空棧S
?S.base=(SElemType?*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
?????if(!S.base)
?????exit(OVERFLOW);?//?存儲分配失敗
???S.top=S.base;
???S.stacksize=STACK_INIT_SIZE;
?}?????//InitStack
?Status?Push(SqStack?&SSElemType?e)
?{?//?插入元素e為新的棧頂元素
???if(S.top-S.base>=S.stacksize)?//?棧滿,追加存儲空間
???{
?????S.base=(SElemType?*)realloc(S.base(S.stacksize+STACK_INCREMENT)*sizeof(SElemType));
?????if(!S.base)
???????exit(OVERFLOW);?//?存儲分配失敗
?????S.top=S.base+S.stacksize;
?????S.stacksize+=STACK_INCREMENT;
???}
???*(S.top)++=e;
?}?????//Push

?Status?Pop(SqStack?&SSElemType?&e)
?{?//?若棧不空,則刪除S的棧頂元素,用e返回其值,并返回OK;否則返回ERROR
???if(S.top==S.base)
?????return?ERROR;
???e=*--S.top;
???return?OK;
?}?????//POp
??Status?StackEmpty(SqStack?S)
?{?//?若棧S為空棧,則返回TRUE,否則返回FALSE
???if(S.top==S.base)
?????return?TRUE;
???else
?????return?FALSE;
??}?????//StackEmpty


?//----------單鏈隊列——隊列的鏈式存儲結構----------
?typedef?struct?QNode
?{
?QElemType??data;
?struct?QNode?*next;
?}QNode*QueuePtr;
?typedef?struct
?{
?QueuePtr?front;?????//對頭指針
?QueuePtr?rear;?????//隊尾指針
?}linkQueue;


?//----------基本操作的算法描述(部分)----------
?Status?InitQueue(linkQueue?&Q)
?{?/*?構造一個空隊列?Q?*/?
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
if(!Q.front)
exit(OVERFLOW);
Q.front->next=NULL;
return?OK;
?}
?Status?DestroyQueue(linkQueue?&Q)
?{?/*?銷毀隊列?Q(無論空否均可)?*/
while(Q.front)
{

Q.rear=Q.front->next;
free(Q.front);
Q.front=Q.rear;
}
return?OK;
?}
?Status?ClearQueue(linkQueue?&Q)
?{?/*?將?Q?清為空隊列?*/?
QueuePtr?pq;?
Q.rear=Q.front;
p=Q.front->next;?
Q.front->next=NULL;
while(p)
{
q=p;
p=p->next;
free(q);
}
return?OK;
?}
?Status?QueueEmpty(linkQueue?Q)
?{?/*?若?Q?為空隊列則返回?TRUE否則返回?FALSE?*/
if(Q.front==Q.rear)
return?TRUE;
else
return?FALSE;
?}
?int?QueueLength(linkQueue?Q)
?{?/*?求隊列的長度?*/
int?i=0;?
QueuePtr?p;
?p=Q.front;
while(Q.rear!=p)
{
i++;
p=p->next;
}
return?i;
?}
?Status?GetHead_Q(linkQueue?QQElemType?&e)
?{?/*?若隊列不空則用?e?返回?Q?的隊頭元素并返回?OK否則返回?ERROR?*/
QueuePtr?p;
if(Q.front==Q.rear)?
ret

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????33792??2010-01-09?15:06??渡口調度管理\Debug\vc60.idb

?????文件??????36864??2010-01-09?15:06??渡口調度管理\Debug\vc60.pdb

?????文件?????255840??2010-01-09?15:06??渡口調度管理\Debug\渡口調度管理.pch

?????文件???????4165??2009-10-30?14:33??渡口調度管理\wxz.cpp

?????文件???????4347??2009-10-30?14:35??渡口調度管理\渡口調度管理.dsp

?????文件????????532??2009-10-30?12:43??渡口調度管理\渡口調度管理.dsw

?????文件??????50176??2010-01-09?15:06??渡口調度管理\渡口調度管理.ncb

?????文件??????48640??2010-01-09?15:06??渡口調度管理\渡口調度管理.opt

?????文件????????999??2010-01-09?15:06??渡口調度管理\渡口調度管理.plg

?????目錄??????????0??2010-01-09?15:06??渡口調度管理\Debug

?????目錄??????????0??2010-01-09?15:06??渡口調度管理

-----------?---------??----------?-----??----

???????????????435355????????????????????11


評論

共有 條評論

相關資源