資源簡介
本人是南京航空航天大學的學生,我們的一個計算機軟件基礎(chǔ)大作業(yè)是編寫4個程序,分別是約瑟夫斯問題、停車場管理、帶權(quán)圖的最小生成樹提取、幾種排序算法的比較。希望能夠幫助到大家,尤其是南航的學弟學妹們!工程里面的注釋寫的很清楚,相信大家認真看能夠理解。 最后我們還有一個Hololens的一個課設(shè)項目,混合現(xiàn)實的游戲王,最后做出來也會給大家分享的! 希望大家別忘了給個好評吧,原創(chuàng)不易,這篇寫的算很累了!

代碼片段和文件信息
#include?“stdio.h“
#include?“stdlib.h“
#include?“time.h“
#define?MaxVertexNum?100?//設(shè)置小區(qū)數(shù)最多為100
#define?VertexNum?9
double?LeastNum;//用于記錄最短邊長度
double?LongestNum;//用于記錄最長邊長度,程序過程中不改變
double?adjacent[VertexNum][VertexNum];
//鄰接矩陣,不用于處理數(shù)據(jù),而是用于暫時存儲從文件讀來的數(shù)據(jù)?
//進而在鄰接表存儲數(shù)據(jù)時讀取此數(shù)組數(shù)據(jù)即可?
//二維數(shù)組數(shù)據(jù)為0的元素說明之間沒有通道?
//在處理完數(shù)據(jù)后,此數(shù)組會用來暫時存儲處理后的數(shù)據(jù),并寫入到另一個文件中?
typedef?struct?node
{//邊表結(jié)點
char?adjvex;
double?weight;//權(quán)值
struct?node?*next;
}EdgeNode;
typedef?struct?vnode
{//頂點表結(jié)點
char?vertex;
EdgeNode?*firstedge;
}VertexNode;
typedef?struct
{
VertexNode?adjlist[MaxVertexNum];
int?ne;
}ALGraph;
void?PrintInformation1();//輸出程序信息和個人信息
void?PrintInformation2();//程序結(jié)束信息
void?CreateALGraph(ALGraph?*);//將文件中數(shù)據(jù)導入進來構(gòu)建無向圖鄰接表
void?MinimumSpanningTree(ALGraph?*);//將無向圖轉(zhuǎn)化為最小生成樹
void?ResultOutput(double?*arrayint?n1int?n2);//將數(shù)據(jù)在控制臺顯示出來
void?read_data(void);//從輸入文件讀取數(shù)據(jù)到鄰接矩陣?
void?cout_data(void);//將鄰接矩陣中的數(shù)據(jù)輸出到輸出文件?
void?read_array(double?*arrayint?n1int?n2FILE?*fp);//內(nèi)部函數(shù),用戶無需調(diào)用?
void?cout_array(double?*arrayint?n1int?n2FILE?*fp);//內(nèi)部函數(shù),用戶無需調(diào)用?
void?main()
{
ALGraph?*G;
PrintInformation1();
G?=?(ALGraph*)malloc(sizeof(ALGraph));
G->n?=?VertexNum;//為G指向的圖分配空間,設(shè)置點數(shù)(小區(qū)數(shù))
read_data();?
CreateALGraph(G);
MinimumSpanningTree(G);
cout_data();//輸出到文件?
ResultOutput((double?*)adjacentVertexNumVertexNum);//輸出到控制臺?
PrintInformation2();
system(“pause“);
}
void?PrintTime()
{
time_t?t;
time(&t);
printf(“%s“?ctime(&t));
printf(“\r\n“);
}
void?PrintInformation1()
{
printf(“實驗名稱:實驗三.管道鋪設(shè)施工的最佳方案問題\r\n“);
printf(“學號:xxxxxxxxx(程序中修改)\r\n“);
printf(“姓名:老郭(本人綽號)\r\n“);
printf(“====================\r\n“);
printf(“程序運行開始Current?local?time?and?date:“);
PrintTime();
}
void?PrintInformation2()
{
printf(“\r\n====================\r\n“);
printf(“程序運行結(jié)束Current?local?time?and?date:“);
PrintTime();
}
void?CreateALGraph(ALGraph?*G)
{
//建立無向圖的鄰接表存儲
int?i=0j=0k=0;
EdgeNode?*s;
for?(i?=?0;?i?n;?i++)
{
G->adjlist[i].vertex?=?65?+?i;
printf(“\t%c“?(G->adjlist[i].vertex));//控制臺輸出列表頭
G->adjlist[i].firstedge=NULL;
}
printf(“\n“);
for(k=0;kn;k++)
{
for(j=0;jn;j++)
{
if(adjacent[k][j]!=0)
{
s?=?(EdgeNode*)malloc(sizeof(EdgeNode));
s->adjvex?=?65+j;
s->weight=adjacent[k][j];
s->next?=?G->adjlist[k].firstedge;
G->adjlist[k].firstedge?=?s;
}
}
}
}
void?read_data(void)
{
??int?ij;
??FILE?*fp;
??fp=fopen(“gyp_program3_Input.dat““r“);??//?輸入數(shù)據(jù)文件?
??read_array((double?*)adjacentVertexNumVertexNumfp);
??fclose(fp);
??for?(i?=?0;?i???{
??for?(j?=?0;?j? ??{
??if?(adjacent[i][j]?>?LongestNum)
??{
??LongestNum?=?adjacent[i][j];//即給LongestNum設(shè)置的初值為最大邊邊值
??}
??}
??}
}
void?read_array(double?*arrayint?n1int?n2FILE?*fp)
{
??int?ij;
??float?q;
??for(i=0;i ??for(j=0;j ??{?
??fscanf(fp“%f“&q);?
??*array++?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-20?15:22??gyp_program3\.vs\
?????目錄???????????0??2018-10-20?15:22??gyp_program3\.vs\gyp_program3\
?????目錄???????????0??2018-11-06?21:36??gyp_program3\.vs\gyp_program3\v15\
?????文件???????26112??2018-11-06?21:36??gyp_program3\.vs\gyp_program3\v15\.suo
?????文件?????1818624??2018-11-06?21:36??gyp_program3\.vs\gyp_program3\v15\Browse.VC.db
?????目錄???????????0??2018-10-20?15:22??gyp_program3\.vs\gyp_program3\v15\ipch\
?????目錄???????????0??2018-10-20?22:01??gyp_program3\.vs\gyp_program3\v15\ipch\AutoPCH\
?????目錄???????????0??2018-10-21?10:44??gyp_program3\.vs\gyp_program3\v15\ipch\AutoPCH\1a465263fa0f3cf4\
?????文件?????2555904??2018-11-06?21:35??gyp_program3\.vs\gyp_program3\v15\ipch\AutoPCH\1a465263fa0f3cf4\GYP_PROGRAM3.ipch
?????目錄???????????0??2018-10-20?15:22??gyp_program3\.vs\gyp_program3\v15\ipch\AutoPCH\c44db10c3fc72864\
?????文件?????2621440??2018-10-20?15:19??gyp_program3\.vs\gyp_program3\v15\ipch\AutoPCH\c44db10c3fc72864\GYP_PROGRAM3.ipch
?????目錄???????????0??2018-10-22?17:01??gyp_program3\Debug\
?????文件???????41472??2018-11-06?21:36??gyp_program3\Debug\gyp_program3.exe
?????文件??????368352??2018-11-06?21:36??gyp_program3\Debug\gyp_program3.ilk
?????文件??????561152??2018-11-06?21:36??gyp_program3\Debug\gyp_program3.pdb
?????文件?????????255??2018-09-28?20:49??gyp_program3\Debug\gyp_program3_Input.dat
?????文件?????????392??2018-11-06?21:36??gyp_program3\Debug\gyp_program3_Output.dat
?????文件??????413696??2018-10-12?17:50??gyp_program3\gyp_program3.sdf
?????文件?????????903??2018-09-20?16:11??gyp_program3\gyp_program3.sln
?????文件???????11776??2018-10-12?17:50??gyp_program3\gyp_program3.suo
?????目錄???????????0??2018-11-06?21:36??gyp_program3\gyp_program3\
?????目錄???????????0??2018-10-21?10:44??gyp_program3\gyp_program3\Debug\
?????文件????????1185??2018-10-21?10:44??gyp_program3\gyp_program3\Debug\gyp_program3.Build.CppClean.log
?????文件?????????128??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.log
?????文件???????25970??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.obj
?????目錄???????????0??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\
?????文件?????????674??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\CL.command.1.tlog
?????文件????????2946??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\CL.read.1.tlog
?????文件?????????504??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\CL.write.1.tlog
?????文件?????????232??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\gyp_program3.lastbuildstate
?????文件????????1158??2018-11-06?21:36??gyp_program3\gyp_program3\Debug\gyp_program3.tlog\li
............此處省略17個文件信息
- 上一篇:風力擺PID調(diào)節(jié)源代碼
- 下一篇:平衡小車藍牙控制Apk 3個
評論
共有 條評論