freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設計報告(編輯修改稿)

2025-04-19 08:49 本頁面
 

【文章內(nèi)容簡介】 坐標的值為A時,將此A變成X,并判斷上下左右的值,若為A,將此點壓棧,并判斷棧是否為空當x39或y69重新輸入,重新輸入否,則循環(huán)否,退頂端的元素 【代碼表示】//結(jié)構(gòu)體表示點struct items //結(jié)構(gòu)體x為某點的x坐標值,y為某點的y坐標值{ int x,y。}temp。SeqStackitems st(40*70)。void path(char str[40][70],int x,int y){ str[x][y]=39。X39。 //將可燃點的值A換成X if (str[x][y1]==39。A39。) { =x。=y1。 (temp)。 } if (str[x][y+1]==39。A39。) { =x。=y+1。 (temp)。 } if (str[x1][y]==39。A39。) { =x1。=y。 (temp)。 } if (str[x+1][y]==39。A39。) { =x+1。=y。 (temp)。 } if (()==false) { (temp)。 path(str,)。 } }include include include include fstreamusing namespace std。int main(int argc, char* argv[]){ char str[40][70]。 ifstream infile。 ()。 for(int i=0。i40。i++) // { for(int j=0。j70。j++) { infilestr[i][j]。 } } ()。 for(i=0。i40。i++) { for(int j=0。j70。j++) { coutstr[i][j]。 } coutendl。 } int x,y。 cout請輸入著火點:。 cinxy。 while (str[x][y]==39。.39。) { cout您輸入的信息不對,請重新輸入:。 cinxy。 } path(str,x,y)。 for(i=0。i40。i++) { for(int j=0。j70。j++) { coutstr[i][j]。 } coutendl。 } ofstream fon()。 // for(i=0。i40。i++) { for(int j=0。j70。j++) { fonstr[i][j]。 } fonendl。 } ()。 return 0。}【運行結(jié)果】實習題目五 管道鋪設施工的最佳方案選擇【問題描述】需要在某個城市的n 個居民區(qū)之間鋪設煤氣管道,則在這n 個居民區(qū)之間只要鋪設n1條管道即可。假設任意兩個居民區(qū)之間都可以架設管道,但由于地理環(huán)境的不同,所需經(jīng)費不同。選擇最有的施工方案能使總投資盡可能少,這個問題即為求網(wǎng)的“最小生成樹”。網(wǎng)采用鄰接矩陣為存儲結(jié)構(gòu),以頂點對(i,j)的形式輸出最小生成樹的邊?!驹O計思想】可選用Kruskal 算法或Prim 算法來求網(wǎng)的最小生成樹,無論哪一個算法都要選好恰當?shù)妮o助數(shù)據(jù)結(jié)構(gòu),以存放邊或頂點的集合。若采用Kruskal 算法,則為選取當前權(quán)值最小的邊,還要對邊按權(quán)值進行非減序的排序?!敬a實現(xiàn)】//鄰接矩陣的實現(xiàn)class Graphmtx{ public: Graphmtx(int sz=30,int max=300)。 ~Graphmtx () {delete []VerticesList。 delete []Edge。} char getValue (int i) { //return VerticesList[i]。 return i=0amp。amp。i=numVertices?VerticesList[i]:NULL。 } int getWeight (int v1, int v2) { return v1 != 1 amp。amp。 v2 != 1 ? Edge[v1][v2] : 0。 } int NumberOfEdges(){return numEdges。} int NumberOfVertices(){return numVertices。} int getFirstNeighbor (int v)。 int getNextNeighbor (int v, int w)。 bool insertVertex (const intamp。 vertex)。 bool insertEdge (int v1, int v2, int cost)。 bool removeVertex (int v)。 bool removeEdge (int v1, int v2)。 int getVertexPos (int vertex) { for (int i=0。 inumVertices。i++) { if (VerticesList[i]==vertex) return i。 } return 1。 } int maxVertices。 int numEdges。 int numVertices。 int *VerticesList。 int **Edge。 const int maxWeight。 }。Graphmtx::Graphmtx(int sz, int max):maxWeight(max){ maxVertices=sz。 numVertices=0。 numEdges=0。 int i, j。 VerticesList = new int[maxVertices]。 Edge = (int **) new int *[maxVertices]。 for (i = 0。 i maxVertices。 i++) Edge[i] = new int[maxVertices]。 for (i = 0。 i maxVertices。 i++) for (j = 0。 j maxVertices。 j++) Edge[i][j]=(i==j)?0:maxWeight。 }bool Graphmtx::insertVertex(const intamp。 vertex){ if (numVertices==maxVertices) { return false。 } VerticesList[numVertices++]=vertex。 return true。}。bool Graphmtx::insertEdge(int v1,int v2,int cost){ if (v11amp。amp。v1numVerticesamp。amp。v21amp。amp。v2numVerticesamp。amp。Edge[v1][v2]==maxWeight) { Edge[v1][v2]=Edge[v2][v1]=cost。 numEdges++。 return true。 } else return false。}。int Graphmtx::getFirstNeighbor (int v) { if (v != 1) { for (int col = 0。 col numVertices。col++) if (Edge[v][col] amp。amp。 Edge[v][col]maxWeight) return col。 } return 1。}int Graphmtx::getNextNeighbor (int v, int w) { if (v != 1 amp。amp。 w != 1) { for (int col = w+1。 col numVertices。 col++) if (Edge[v][col] amp。amp。 Edge[v][col] maxWeight) return col。 } return 1。}include iostreamusing namespace std。include class MinSpanTree。ostream amp。operator(ostream amp。os,MinSpanTree amp。c)。struct MSTEdgeNode{ int tail,head。 int key。 MSTEdgeNode():tail(0),head(0),key(0){} bool operator=(MSTEdgeNodeamp。 R) { return key=。 } bool operator(MSTEdgeNode amp。R) { return key。 }}。class MinSpanTree{ public: MinSpanTree(int sz=100):maxSize(sz),n(0) { edgevalue=new MSTEdgeNode[sz]。 } void Insert(MSTEdgeNodeamp。 item) { edgevalue[n]=item。 n++。 } MSTEdgeNode *edgevalue。 int maxSize,n。 friend ostream amp。operator(ostream amp。os,MinSpanTree amp。c)。}。ostream amp。operator(ostream amp。os,MinSpanTree amp。c){ for (int i=0。i。i++) { if ([i].head[i].tail) { cout([i].head,[i].tail) 。 } else cout([i].tail,[i].head) 。 } return os。}//Prim 算法來求網(wǎng)的最小生成樹void Prim(Graphmtxamp。 G,const i
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1