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

  • 大小: 2.18MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-09
  • 語言: C/C++
  • 標簽: 圖ADT??數據結構????

資源簡介

一、 題目:圖的抽象數據類型實現 利用VC++的工作環境實現教材里圖的基本抽象數據類型。按照課本的要求運用c語言以及數據結構課程所學的知識,設計合理的數據存儲結果,實現圖的基本操作。 二、 抽象數據類型定義以及各基本操作的簡要描述 ADT MGraph{ 數據對象:n=n是具有相同特征的數據元素集合,稱為頂點集。 數據關系:DR={|v,w∈n且表示從v指向w的弧} 基本操作: CreateMGraph 初始條件:n是圖的頂點集,e是圖的邊集 操作結果:按和n的e定義構造圖G DestroyGraph 初始條件: 圖G存在 操作結果: 銷毀圖G GetVex 初始條件: 圖G存在,v是G中某個頂點 操作結果: 返回v的值 LocateVex 初始條件:圖G存在,v和G中頂點有相同特征 操作結果:若G中存在頂點v,則返回該頂點再圖中的位置;否則返回空 PutVex 初始條件: 圖G存在,v是G中某個頂點 操作結果: 對v賦值u FirstAdjVex 初始條件: 圖G存在,v是G中某個頂點 */ 操作結果: 返回的第一個鄰接頂點。若頂點在G中沒有鄰接頂點,則返回空 NextAdjVex 初始條件: 圖G存在,v是G中某個頂點,w是v的鄰接頂點 操作結果: 返回v(相對w)的下一個鄰接頂點。若w是v的最后一個鄰接點,則返回空 InsertVex 初始條件: 圖G存在,v和圖G中頂點有相同特征 操作結果: 在圖G中增添新頂點v(不增添與頂點相關的邊,留待InsertArc()去做) DeleteVex 初始條件: 圖G存在,v是G中某個頂點 操作結果: 刪除G中頂點v及其相關的弧 InsertArc 初始條件: 圖G存在,v和W是G中兩個頂點 操作結果: 在G中增添弧 DeleteArc 初始條件: 圖G存在,v和w是G中兩個頂點 操作結果: 在G中刪除弧 DFSTraverseM 初始條件:圖G存在 操作結果:對圖進行深度優先遍歷 BFSTraverseM 初始條件:圖G存在 操作結果:對圖進行廣度優先遍歷 }ADT MGraph

資源截圖

代碼片段和文件信息


#include
#include
#define?MaxLen?10
#define?False?0
#define?True?1
#define?Error?printf
#define?QueueSize?30
#define?Null?0
#define?OK?1
typedef?struct
{
char?vexs[MaxLen];
int?edges[MaxLen][MaxLen];
int?ne;
}MGraph;
int??visited[10];
void?CreateMGraph(MGraph?&G);
void?DestroyGraph(MGraph?&G);
int?LocateVex(MGraph?Gchar?v);
int?GetVex(MGraph?G);
int?PutVex(MGraph?&Gchar?vchar?u);
int?FirstAdjVex(MGraph?Gchar?v);
int?NextAdjVex(MGraph?Gchar?vchar?w);
void?InsertVex(MGraph?&Gchar?v);
int?DeleteVex(MGraph?&Gchar?v);
int?InsertArc(MGraph?&Gchar?vchar?w);
int?DeleteArc(MGraph?&Gchar?vchar?w);
void?BFSTraverseM(MGraph?G);
void?DFSTraverseM(MGraph?G);
void?DFsM(MGraph?Gint?i);
void?BFSM(MGraph?Gint?i);

typedef?struct
{
int?front;
int?rear;
int?count;
int?data[QueueSize];?
}CirQueue;

void?InitQueue(CirQueue?*Q)
{
Q->front=Q->rear=0;
Q->count=0;
}
int?QueueEmpty(CirQueue?*Q)
{
????return?Q->count=QueueSize;
}

int?QueueFull(CirQueue?*Q)
{
????return?Q->count==QueueSize;
}

void?EnQueue(CirQueue?*Qint?x)
{
if?(QueueFull(Q))
Error(“Queue?overflow“);
else
{
Q->count++;
Q->data[Q->rear]=x;
Q->rear=(Q->rear+1)%QueueSize;
}//else???
}//EnQueue(CirQueue?*Qint?x)
int?DeQueue(CirQueue?*Q)
{
????int?temp;
????if(QueueEmpty(Q))
????{
Error(“Queue?underflow“);
return?Null;??????????????
????}//if(QueueEmpty(Q))
????else?{
temp=Q->data[Q->front];
Q->count--;
Q->front=(Q->front+1)%QueueSize;
return?temp;
}//else
}//DeQueue(CirQueue?*Q)

int?main()
{
printf(“\t**************************************************************\n“);
printf(“\t???*計算機學院網絡工程三班*--------*張菲*--*學號3107007062*\n“);
printf(“\t**************************************************************\n“);
MGraph?Ga;
char?muvw;
int?ijk;
G=a;
printf(“\n*建立一個有向圖的鄰接矩陣表示*\n“);
CreateMGraph(G);
printf(“\n已建立一個圖的鄰接矩陣存儲\n“);
for(i=0;i {??for(j=0;j printf(“%10d“G.edges[i][j]);
printf(“\n“);????????????????
}//for(i=0;i printf(“\n“);
system(“pause“);?
getchar();
m=‘y‘;
while?(m==‘y‘)
{
printf(“\n\n\n\n\n\n\t\t圖子系統\n“);
printf(“\t\t計算機學院網絡工程三班--------張菲\n“);
printf(“\t\t**********************************************\n“);
printf(“\t\t*?????????1-----重建鄰接矩陣?????????????????*\n“);
printf(“\t\t*?????????2-----銷毀圖???????????????????????*\n“);
printf(“\t\t*?????????3-----查找頂點v位置????????????????*\n“);
printf(“\t\t*?????????4-----返回頂點v的值????????????????*\n“);
printf(“\t\t*?????????5-----對頂點v賦值??????????????????*\n“);
printf(“\t\t*?????????6-----返回頂點v的第一個鄰接點??????*\n“);
printf(“\t\t*?????????7-----返回v相對w的下一個鄰接點?????*\n“);
printf(“\t\t*?????????8-----插入頂點v????????????????????*\n“);
printf(“\t\t*?????????9-----刪除頂點v????????????????????*\n“);
printf(“\t\t*?????????10----插入邊???????????????????????*\n“);
printf(“\t\t*?????????11----刪除邊???????????????????????*\n“);

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

?????文件?????505856??2009-07-03?00:12??課程設計報告.doc

?????文件??????78112??2009-07-02?20:15??課程設計報告.docx

?????文件?????135453??1998-06-15?00:00??analysing\analy\1.cpp

?????文件?????????33??2009-06-29?19:11??analysing\analy\1.txt

?????文件??????77093??1998-06-15?00:00??analysing\analy\2.CPP

?????文件??????89786??1998-06-15?00:00??analysing\analy\3.CPP

?????文件??????91269??1998-06-15?00:00??analysing\analy\4.CPP

?????文件?????109417??1998-06-15?00:00??analysing\analy\5.CPP

?????文件?????115208??1998-06-15?00:00??analysing\analy\6.CPP

?????文件?????115208??1998-06-15?00:00??analysing\analy\7.cpp

?????文件???????3667??2009-07-02?23:56??analysing\analy\analy.c

?????文件???????4328??2009-06-25?21:55??analysing\analy\analy.dsp

?????文件????????535??2009-06-05?21:57??analysing\analy\analy.dsw

?????文件???????5997??2009-07-02?23:04??analysing\analy\analy.h

?????文件??????41984??2009-06-29?22:10??analysing\analy\analy.ncb

?????文件??????49664??2009-06-29?22:10??analysing\analy\analy.opt

?????文件???????1321??2009-07-02?23:56??analysing\analy\analy.plg

?????文件?????135453??1998-06-15?00:00??analysing\analy\Debug\1.CPP

?????文件??????70167??1998-06-15?00:00??analysing\analy\Debug\10.cpp

?????文件??????64028??1998-06-15?00:00??analysing\analy\Debug\11.cpp

?????文件??????77093??1998-06-15?00:00??analysing\analy\Debug\2.CPP

?????文件??????91269??1998-06-15?00:00??analysing\analy\Debug\4.CPP

?????文件?????109417??1998-06-15?00:00??analysing\analy\Debug\5.CPP

?????文件?????115208??1998-06-15?00:00??analysing\analy\Debug\6.CPP

?????文件?????115208??1998-06-15?00:00??analysing\analy\Debug\7.cpp

?????文件??????72980??1998-06-15?00:00??analysing\analy\Debug\8.cpp

?????文件??????61600??1998-06-15?00:00??analysing\analy\Debug\9.cpp

?????文件??????58368??2009-06-29?21:13??analysing\analy\Debug\analy.bsc

?????文件?????196715??2009-07-02?23:56??analysing\analy\Debug\analy.exe

?????文件?????203160??2009-07-02?23:56??analysing\analy\Debug\analy.ilk

............此處省略45個文件信息

評論

共有 條評論

相關資源