提交 74508c88 编写于 作者: 野漫横江's avatar 野漫横江 🔥

WildSky

上级

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30503.244
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "数据结构-无向图-练习", "数据结构-无向图-练习\数据结构-无向图-练习.vcxproj", "{28610E52-53AB-4BA8-8900-E6C4A15CCACA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Debug|x64.ActiveCfg = Debug|x64
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Debug|x64.Build.0 = Debug|x64
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Debug|x86.ActiveCfg = Debug|Win32
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Debug|x86.Build.0 = Debug|Win32
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Release|x64.ActiveCfg = Release|x64
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Release|x64.Build.0 = Release|x64
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Release|x86.ActiveCfg = Release|Win32
{28610E52-53AB-4BA8-8900-E6C4A15CCACA}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8C700682-8B0E-4738-9D17-4936FD0F2A9B}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>F:\CodeGit\Visual Studio\数据结构-无向图-练习\Debug\数据结构-无向图-练习.exe</ProjectOutputs>
<ContentFiles></ContentFiles>
<SatelliteDlls></SatelliteDlls>
<NonRecipeFileRefs></NonRecipeFileRefs>
</Project>
\ No newline at end of file
 MatrixGraph.cpp
数据结构-无向图-练习.vcxproj -> F:\CodeGit\Visual Studio\数据结构-无向图-练习\Debug\数据结构-无向图-练习.exe
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MATRIXGRAPH.CPP B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MAIN.CPP|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\MATRIXGRAPH.CPP
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ
B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ B^F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MAIN.OBJ|F:\CODEGIT\VISUAL STUDIO\数据结构-无向图-练习\数据结构-无向图-练习\DEBUG\MATRIXGRAPH.OBJ
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.27.29110:TargetPlatformVersion=10.0.18362.0:
Debug|Win32|F:\CodeGit\Visual Studio\数据结构-无向图-练习\|
#include <iostream>
#include <string.h>
#include "MatrixGraph.h"
using namespace std;
Graph::Graph()
{
data.kind = UDG;
}
Graph::~Graph()
{
}
int Graph::init() {
cout << "请输入顶点个数:";
cin >> this->data.verCount;
cout << "请输入边的个数:";
cin >> this->data.arcCount;
cout << "请输入顶点信息:" << endl;
/** 记录顶点数据*/
for (int i = 0; i < this->data.arcCount; i++) {
this->data.verTexs[i] = new char[verTexStrCount];
cout << "顶点 " << i + 1<< " :";
cin >> (this->data.verTexs[i]);
}
/** 初始化邻接矩阵 - 置零*/
for (int i = 0; i < this->data.verCount; i++) {
for (int j = 0; j < this->data.verCount; j++) {
this->data.arc[i][j] = 0;
}
}
cout << "请输入顶点和邻接顶点信息,构建邻接矩阵:\n";
for (int i = 0; i < this->data.arcCount; i++) {
verTexType vex1 = new char[verTexStrCount];
verTexType vex2 = new char[verTexStrCount];
cout << "顶点:";
cin >> vex1;
cout << "邻接点:";
cin >> vex2;
int x = this->localIndex(vex1);
int y = this->localIndex(vex2);
if (x == -1 || y == -1) {
return ERROR;
}
this->setMatrixValue(x, y, 1);
this->setMatrixValue(y, x, 1);
delete[] vex1;
delete[] vex2;
}
return OK;
}
int Graph::localIndex(verTexType str)
{
int index = 0;
while (index < this->data.arcCount) {
if (strcmp(str, this->data.verTexs[index]) == 0) {
break;
}
index++;
}
return (index == this->data.arcCount) ? ERROR : index;
}
void Graph::setMatrixValue(int x, int y, int value)
{
this->data.arc[x][y]=value;
}
void Graph::outPutMatrix()
{
cout << '\t';
for (int i = 0; i < this->data.verCount; i++) {
cout << "\t" << this->data.verTexs[i];
}
cout << endl;
for (int i = 0; i < this->data.verCount; i++) {
cout << '\t' << this->data.verTexs[i];
for (int j = 0; j < this->data.verCount; j++) {
cout << '\t' << this->data.arc[i][j];
}
cout << endl;
}
}
#pragma once
constexpr int ERROR = 0;
constexpr int OK = 1;
constexpr int MAX_VERTEX = 100;//数组-图的最多顶点数
constexpr int verTexStrCount = 10;//顶点字符串字符数
typedef char* verTexType; //顶点
typedef int arcType; //边-权值
typedef enum {
UDG,//无向图
DG,//有向图
UDN,//无向网
DN//有向网
}graphKind;
typedef struct {
verTexType verTexs[MAX_VERTEX];//顶点数组
arcType arc[MAX_VERTEX][MAX_VERTEX];//邻接矩阵
graphKind kind;//图的类型
int arcCount;//图的边个数
int verCount;//图的顶点个数
}G;
class Graph
{
public:
Graph();
~Graph();
int init();//初始化图
int localIndex(verTexType str);//定位顶点
void setMatrixValue(int x, int y, int value);//设置邻接矩阵的值
void outPutMatrix();//输出矩阵情况
private:
G data;
};
#include <iostream>
#include "Matrixgraph.h"
using namespace std;
int main()
{
Graph g;
g.init();
g.outPutMatrix();
return 0;
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{28610e52-53ab-4ba8-8900-e6c4a15ccaca}</ProjectGuid>
<RootNamespace>数据结构无向图练习</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="MatrixGraph.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="MatrixGraph.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="MatrixGraph.cpp">
<Filter>头文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="MatrixGraph.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册