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

正文內(nèi)容

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

2025-04-19 08:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 坐標(biāo)的值為A時(shí),將此A變成X,并判斷上下左右的值,若為A,將此點(diǎn)壓棧,并判斷棧是否為空當(dāng)x39或y69重新輸入,重新輸入否,則循環(huán)否,退頂端的元素 【代碼表示】//結(jié)構(gòu)體表示點(diǎn)struct items //結(jié)構(gòu)體x為某點(diǎn)的x坐標(biāo)值,y為某點(diǎn)的y坐標(biāo)值{ int x,y。}temp。SeqStackitems st(40*70)。void path(char str[40][70],int x,int y){ str[x][y]=39。X39。 //將可燃點(diǎn)的值A(chǔ)換成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請(qǐng)輸入著火點(diǎn):。 cinxy。 while (str[x][y]==39。.39。) { cout您輸入的信息不對(duì),請(qǐng)重新輸入:。 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。}【運(yùn)行結(jié)果】實(shí)習(xí)題目五 管道鋪設(shè)施工的最佳方案選擇【問(wèn)題描述】需要在某個(gè)城市的n 個(gè)居民區(qū)之間鋪設(shè)煤氣管道,則在這n 個(gè)居民區(qū)之間只要鋪設(shè)n1條管道即可。假設(shè)任意兩個(gè)居民區(qū)之間都可以架設(shè)管道,但由于地理環(huán)境的不同,所需經(jīng)費(fèi)不同。選擇最有的施工方案能使總投資盡可能少,這個(gè)問(wèn)題即為求網(wǎng)的“最小生成樹”。網(wǎng)采用鄰接矩陣為存儲(chǔ)結(jié)構(gòu),以頂點(diǎn)對(duì)(i,j)的形式輸出最小生成樹的邊?!驹O(shè)計(jì)思想】可選用Kruskal 算法或Prim 算法來(lái)求網(wǎng)的最小生成樹,無(wú)論哪一個(gè)算法都要選好恰當(dāng)?shù)妮o助數(shù)據(jù)結(jié)構(gòu),以存放邊或頂點(diǎn)的集合。若采用Kruskal 算法,則為選取當(dāng)前權(quán)值最小的邊,還要對(duì)邊按權(quán)值進(jìn)行非減序的排序。【代碼實(shí)現(xiàn)】//鄰接矩陣的實(shí)現(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 算法來(lái)求網(wǎng)的最小生成樹void Prim(Graphmtxamp。 G,const i
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1