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

  • 大小: 74KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: 其他
  • 標簽: 數據結構??

資源簡介

數據結構的車廂調度課程設計報告書,具體講述了車廂調度的過程,實驗報告書內容詳細

資源截圖

代碼片段和文件信息

#include
#include
#define?MAXSIZE?10000
int?n;
int?path[MAXSIZE];???/*定義全局變量*/

struct?pathss{
??int?paths[MAXSIZE][MAXSIZE];
??int?number;
}AllPath;???????????/*定義一個二維數組來保存所有的輸出序列*/

struct?SNode{
??int?data[MAXSIZE];
??int?top;
}S;?????????????????/*棧的順序存儲結構的定義*/

void?InitStack()????/*棧的初始化*/
{
??S.top=-1;
}

void?Push(int?q)????/*進棧*/
{
??S.data[++S.top]=q;
}

int?Pop()???????????/*出棧*/
{
??int?temp;
??temp=S.data[S.top--];
??return?temp;
}

int?StackEmpty()????/*判斷棧是否為空*/
{
??if(S.top==-1)
????return?1;
??else
????return?0;
}

void?Attemper(int?posint?path[]int?cur)??/*調度過程*/
{
??int?mi;
??if(pos???{
?????Push(pos+1);???/*一個數進棧后要么立刻出棧要么進行下一個數的進棧*/
?????Attemper(pos+1pathcur);
?????Pop();
???}
?if(!StackEmpty())
???{
?????m=Pop();???????/*一個數出棧后要么繼續出棧(棧不空)要么繼續下一個數的進棧*/
?????path[cur++]=m;
?????Attemper(pospathcur);
?????Push(m);
???}
?if(pos==n?&&?StackEmpty())???/*一種可能輸出序列產生*/
???{
?????printf(“\t\t\t“);
?????printf(“%2d:“AllPath.number+1);
?????for(i=0;i ?{
????????printf(“%3d“path[i]);
????????AllPath.paths[AllPath.number][i]=path[i];??/*將每種序列保存在二維數組里*/
?????}
?????printf(“\n“);
?????AllPath.number++;
???}
}

void?Print()???/*一個棧打印操作*/
{
??int?i;
??for(i=S.top;i>=0;i--)
????printf(“\t\t\t??|%d|\n“S.data[i]);
}

void?DisplayOnly(int?kint?Outputint?Input)/*顯示操作序列的狀態的變化過程*/
{?
??int?j;
??getchar();????
??for(j=0;j<=Output;j++)
????printf(“<---%d“AllPath.paths[k][j]);???/*顯示輸出序列的狀態變化*/
??printf(“\n“);
??Print();??????????
??printf(“\t\t\t\t\t“);
??for(j=Input;j<=n;j++)??????????????????????/*顯示輸入序列的狀態變化*/
?????printf(“<---%d“j);??????
??printf(“\n“);
}

void?ChooseDisplay()???/*狀態變化過程*/
{
??int?kOutputInput=1;????????????????????????????????/*k為輸出序列的序號*/
??printf(“請輸入你想要查看序列狀態變化過程的序號:“);???/*output為當前輸出的序號*/
??scanf(“%d“&k);??????????????????????????????????????/*input為當前輸入的序號*/
??k=k-1;
??InitStack();
??printf(“\n????輸出序列\t???????????棧\t\t??輸入序列“);
??DisplayOnly(k-11);
??for(Output=0;Output??{?
????if(AllPath.paths[k][Output]>=Input)??????/*當輸出序列中當前的數據大于等于入口處*/
??????{??????????????????????????????????????/*的數據時?入口處的數據要一直壓棧*/
???????while(AllPath.paths[k][Output]>=Input)/*直到當前的數據小于等于入口處的數據*/
?????????{
??????????Push(Input);
??????????Input++;
??????????DisplayOnly(kOutput-1Input);??
?????????}
???????Pop();
???????DisplayOnly(kOutputInput);??
??????}???
????else?????????????????????????????????????/*當序列中當前的數據小于入口處*/
{????????????????????????????????????????/*的數據時彈出棧頂重新顯示結果*/
???????Pop();
???????DisplayOnly(kOutputInput);??
??????}
??}
}

void?message()??????/*菜單顯示*/
{
??printf(“\n\t\t\t*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*\n?“);
??printf(“\t\t\t*\t1:輸入火車的長度N\t*\n“);
??printf(“\t\t\t*\t2:輸出所有可能序列\t*\n“);
??printf(“\t\t\t*\t3:演示一個序列變化\t*\n“);
??printf(“\t\t\t*\t4:退出本程序\t\t*\n“);
??printf(“\t\t\t*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*?*\n“);
}

voi

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

?????文件????1206784??2008-01-03?18:25??數據結構課程設計報告模板(軟件061).doc

?????文件???????3975??2008-01-03?18:23??Cpp1.cpp

?????文件?????200772??2008-01-03?15:34??Cpp1.exe

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

??????????????1411531????????????????????3


評論

共有 條評論