delete all file

main
贺志豪 1 year ago
parent a448bdbe7a
commit 0ed90e3e06

@ -1,65 +0,0 @@
#include<iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define MAXSIZE 100
typedef int KeyType;
typedef struct
{
int elem[MAXSIZE];
int length;
}SSTable; //建立一个顺序表来存放元素
int Search_Bin(SSTable ST,KeyType key)
{
int low,high,mid;
low=1;
high=ST.length;
while(low<=high)
{
mid=(low+high)/2; //折半,并且输出比较的元素
cout<<" "<<ST.elem[mid];
if(ST.elem[mid]==key)
return mid;
else if(ST.elem[mid]>key) //如果关键字大于查找的数字,则往小的移动
high=mid-1;
else if(ST.elem[mid]<key) //如果关键字大于查找的数字,则往大的移动
low=mid+1;
}
return -1;
}
int main()
{
SSTable ST;
KeyType n;
int a;
cout<<"请输入有序表的长度:"<<endl;
cin>>ST.length;
cout<<"请输入有序表的元素"<<endl;
for(int i=1;i<=ST.length;i++)
{
cin>>ST.elem[i];
}
cout<<"请输入要查找的元素:"<<endl;
cin>>n;
cout<<"比较的元素有:";
a=Search_Bin(ST,n);
if(a>=0)
cout<<"\n查找元素的下标是:"<<a<<endl;
else
cout<<"在有序表中未找到您想查找到元素!"<<endl;
}
/*
11
05 13 19 21 37 56 64 75 80 88 92
21
56 19 21
4
*/

@ -1,31 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34018.315
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2023-10-23", "2023-10-23.vcxproj", "{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}"
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
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Debug|x64.ActiveCfg = Debug|x64
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Debug|x64.Build.0 = Debug|x64
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Debug|x86.ActiveCfg = Debug|Win32
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Debug|x86.Build.0 = Debug|Win32
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Release|x64.ActiveCfg = Release|x64
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Release|x64.Build.0 = Release|x64
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Release|x86.ActiveCfg = Release|Win32
{DDE1957C-AB2A-4B80-9928-5904DAD85FE3}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {07A85C73-522E-4FAD-964D-381906ACE172}
EndGlobalSection
EndGlobal

@ -1,135 +0,0 @@
<?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>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{dde1957c-ab2a-4b80-9928-5904dad85fe3}</ProjectGuid>
<RootNamespace>My20231023</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>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</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" />
<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="源.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -1,22 +0,0 @@
<?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="源.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\vs代码\2023-10-23\x64\Debug\2023-10-23.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>

@ -1,5 +0,0 @@
 源.cpp
D:\vs代码\2023-10-23\源.cpp(224,19): warning C4267: “=”: 从“size_t”转换到“int”可能丢失数据
D:\vs代码\2023-10-23\源.cpp(226,18): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\vs代码\2023-10-23\源.cpp(232): warning C4715: “my_Deserialize”: 不是所有的控件路径都返回值
2023-10-23.vcxproj -> D:\vs代码\2023-10-23\x64\Debug\2023-10-23.exe

@ -1,2 +0,0 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.37.32822:TargetPlatformVersion=10.0.22621.0:
Debug|x64|D:\vs代码\2023-10-23\|

@ -1 +0,0 @@
D:\vs代码\2023-10-23\源.cpp;D:\vs代码\2023-10-23\x64\Debug\源.obj

@ -1 +0,0 @@
D:\vs代码\2023-10-23\x64\Debug\2023-10-23.exe

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,247 +0,0 @@
#include <iostream>
#include <vector>
#include <string>
#include <queue>
#include <unordered_map>
#include <cmath>
using namespace std;
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
class IsBalanced_Solution_Node {
public:
IsBalanced_Solution_Node(int min=INT_MAX,int max=INT_MIN,int high = 0,bool is_balance=true)
:_min(min),_max(max),_high(high),_is_balance(is_balance)
{}
int _min;
int _max;
int _high;
bool _is_balance;
};
IsBalanced_Solution_Node my_IsBalanced_Solution(TreeNode* root) {
//对于nullptr我们要不要呢
if (root == nullptr) {
return IsBalanced_Solution_Node();
}
IsBalanced_Solution_Node left = my_IsBalanced_Solution(root->left);
IsBalanced_Solution_Node right = my_IsBalanced_Solution(root->right);
int min = root->val;
int max = root->val;
int high = 1;
bool is_balance = true;
if (left._is_balance == false || right._is_balance == false
|| std::abs(left._high - right._high) > 1) {
is_balance = false;
}
if (left._high != 0) {
min = left._min < min ? left._min : ( min);
}
if (right._high != 0) {
max = right._max > max ? right._max : (max);
}
high = std::max(left._high, right._high) + 1;
return IsBalanced_Solution_Node(min, max, high, is_balance);
}
// 判断是不是平衡二叉树
bool IsBalanced_Solution(TreeNode* pRoot) {
// write code here
if (pRoot == nullptr) {
return true;
}
return my_IsBalanced_Solution(pRoot)._is_balance;
}
class lowestCommonAncestor_Node {
public:
lowestCommonAncestor_Node(TreeNode*root = nullptr)
:node(root){}
TreeNode* node;
};
TreeNode* sum_node = nullptr;
lowestCommonAncestor_Node my_lowestCommonAncestor(TreeNode* root, int p, int q) {
if (root == nullptr) {
return lowestCommonAncestor_Node();
}
lowestCommonAncestor_Node left = my_lowestCommonAncestor(root->left,p,q);
lowestCommonAncestor_Node right = my_lowestCommonAncestor(root->right, p, q);
//当前的接点有四种可能,
//当前的节点是p
//当前的节点是q
//当前的节点什么都不是,并且是公共的父节点
//当前的节点什么也不是
TreeNode* re = nullptr;
if (left.node == nullptr && right.node == nullptr) {
if (root->val == q || root->val == p) {
return lowestCommonAncestor_Node(root);
}
}
if (left.node != nullptr && right.node != nullptr) {
sum_node = root;
return lowestCommonAncestor_Node();
}
if (left.node != nullptr) {
if (root->val == p && left.node->val == q) {
sum_node = root;
return lowestCommonAncestor_Node();
}
if (root->val == q && left.node->val == p) {
sum_node = root;
return lowestCommonAncestor_Node();
}
re = left.node;
}
if (right.node != nullptr) {
if (root->val == p && right.node->val == q) {
sum_node = root;
return lowestCommonAncestor_Node();
}
if (root->val == q && right.node->val == p) {
sum_node = root;
return lowestCommonAncestor_Node();
}
re = right.node;
}
return lowestCommonAncestor_Node(re);
}
//二叉搜索树的最近公共祖先
int aalowestCommonAncestor(TreeNode* root, int p, int q) {
// write code here
//给定一颗二叉树,和两个节点,返回最近的那个公共的节点
//有两种方法可以求出这个答案,一个是直接递归求解出我们所需要的答案,
// 另一个就是采用并查集进行求解操作
//当我们先采用递归的方式求出公共的节点,再采用并查集的操作解出答案
sum_node = nullptr;
my_lowestCommonAncestor(root, p, q);
return sum_node->val;
}
class Union {
public:
void put(int father, int child) {
if (get_father(father) == -1) {
father_map[father] = father;
}
if (get_father(child) == -1) {
father_map[child] = child;
}
father_map[child] = get_father(father);
}
int get_father(int child) {
if (father_map.count(child) == 0) {
return -1;
}
queue<int>qu;
int father = child;
qu.push(father);
while (father != father_map[father]) {
father = father_map[father];
qu.push(father);
}
while (!qu.empty()) {
father_map[qu.front()] = father;
qu.pop();
}
return father;
}
unordered_map<int, int>father_map;
};
int re = -1;
Union un;
void my_union_lowestCommonAncestor(TreeNode* root, int p, int q) {
if (re != -1) {
return;
}
if (root != nullptr) {
//每次只有在递归完左树之后,就进行右树的操作,
//右树递归完之后就将左右树和当前节点合并
my_union_lowestCommonAncestor(root->left, q, p);
if (root->left != nullptr) {
un.put(root->val, root->left->val);
}
if (root->val == q && un.get_father(p) != -1) {
re = un.get_father(p);
}
if(root->val == p && un.get_father(q) != -1) {
re = un.get_father(q);
}
my_union_lowestCommonAncestor(root->right, q, p);
if (root->right != nullptr) {
un.put(root->val, root->right->val);
}
if (root->val == q && un.get_father(p) != -1) {
re = un.get_father(p);
}
if(root->val == p && un.get_father(q) != -1) {
re = un.get_father(q);
}
}
}
//采用并查集的方式进行操作
//二叉搜索树的最近公共祖先
int lowestCommonAncestor(TreeNode* root, int o1, int o2) {
// write code here
my_union_lowestCommonAncestor(root, o1, o2);
return re;
}
void my_Serialize(TreeNode* root, string& str) {
if (root == nullptr) {
str.append("#");
}
else {
str.append('{'+ to_string(root->val) + '}');
my_Serialize(root->left, str);
my_Serialize(root->right, str);
}
}
//序列化二叉树
char* Serialize(TreeNode* root) {
string str;
my_Serialize(root, str);
return const_cast<char*>(str.c_str());
}
TreeNode* my_Deserialize( string& str, int& index) {
if (str[index] == '#') {
index++;
return nullptr;
}
index = str.find('{', index);
index = index + 1;
int next_index = str.find('}', index);
TreeNode* cur = new TreeNode(atoi(str.substr(index, next_index).c_str()));
index = next_index + 1;
cur->left = my_Deserialize(str, index);
cur->right = my_Deserialize(str, index);
}
//反序列化二叉树
TreeNode* Deserialize(char* str) {
int index = 0;
string ss(str);
return my_Deserialize( ss,index);
}
int main() {
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
return 0;
}

@ -1,24 +0,0 @@
package com.msb.mapper;
import com.msb.pojo.UserData;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface Account {
//进行查询的函数
@Select("select * from UserData where 账号=#{param1};")
public List<UserData> find(String zhanghao);
//进行更新的函数
@Update("update UserData set 我们要修改的值 where 我们选中要修改的值;")
public Integer update();
//进行插入的函数
@Insert("insert into UserData values(我们要插入的新值);")
public Integer insert();
//进行删除的函数
@Delete(" delete from UserData where 账号=#{param1} ;")
public Integer delete(String zhanghao);
@Insert("insert into UserData(对应的值) select replace(账号,账号,#{param2}), 要插入的值 from UserData where 账号=#{param1};")
public Integer share(String zhanghao_src,String zhanghao_dst);
}

@ -1,2 +0,0 @@
# tongxun

@ -1,33 +0,0 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

Binary file not shown.

@ -1,2 +0,0 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar

308
WebProject/mvnw vendored

@ -1,308 +0,0 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Apache Maven Wrapper startup batch script, version 3.2.0
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /usr/local/etc/mavenrc ] ; then
. /usr/local/etc/mavenrc
fi
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "$(uname)" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
else
JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=$(java-config --jre-home)
fi
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="$(which javac)"
if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=$(which readlink)
if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
if $darwin ; then
javaHome="$(dirname "\"$javaExecutable\"")"
javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
else
javaExecutable="$(readlink -f "\"$javaExecutable\"")"
fi
javaHome="$(dirname "\"$javaExecutable\"")"
javaHome=$(expr "$javaHome" : '\(.*\)/bin')
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=$(cd "$wdir/.." || exit 1; pwd)
fi
# end of workaround
done
printf '%s' "$(cd "$basedir" || exit 1; pwd)"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
# Remove \r in case we run on Windows within Git Bash
# and check out the repository with auto CRLF management
# enabled. Otherwise, we may read lines that are delimited with
# \r\n and produce $'-Xarg\r' rather than -Xarg due to word
# splitting rules.
tr -s '\r\n' ' ' < "$1"
fi
}
log() {
if [ "$MVNW_VERBOSE" = true ]; then
printf '%s\n' "$1"
fi
}
BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
log "$MAVEN_PROJECTBASEDIR"
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
if [ -r "$wrapperJarPath" ]; then
log "Found $wrapperJarPath"
else
log "Couldn't find $wrapperJarPath, downloading it ..."
if [ -n "$MVNW_REPOURL" ]; then
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
else
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
fi
while IFS="=" read -r key value; do
# Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
safeValue=$(echo "$value" | tr -d '\r')
case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
esac
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
log "Downloading from: $wrapperUrl"
if $cygwin; then
wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
fi
if command -v wget > /dev/null; then
log "Found wget ... using wget"
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
else
wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
log "Found curl ... using curl"
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
else
curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
fi
else
log "Falling back to using Java to download"
javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaSource=$(cygpath --path --windows "$javaSource")
javaClass=$(cygpath --path --windows "$javaClass")
fi
if [ -e "$javaSource" ]; then
if [ ! -e "$javaClass" ]; then
log " - Compiling MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/javac" "$javaSource")
fi
if [ -e "$javaClass" ]; then
log " - Running MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
# If specified, validate the SHA-256 sum of the Maven wrapper jar file
wrapperSha256Sum=""
while IFS="=" read -r key value; do
case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
esac
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
if [ -n "$wrapperSha256Sum" ]; then
wrapperSha256Result=false
if command -v sha256sum > /dev/null; then
if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
wrapperSha256Result=true
fi
elif command -v shasum > /dev/null; then
if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
wrapperSha256Result=true
fi
else
echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
exit 1
fi
if [ $wrapperSha256Result = false ]; then
echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
exit 1
fi
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
# shellcheck disable=SC2086 # safe args
exec "$JAVACMD" \
$MAVEN_OPTS \
$MAVEN_DEBUG_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

205
WebProject/mvnw.cmd vendored

@ -1,205 +0,0 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Apache Maven Wrapper startup batch script, version 3.2.0
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %WRAPPER_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
SET WRAPPER_SHA_256_SUM=""
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
)
IF NOT %WRAPPER_SHA_256_SUM%=="" (
powershell -Command "&{"^
"$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
"If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
" Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
" Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
" Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
" exit 1;"^
"}"^
"}"
if ERRORLEVEL 1 goto error
)
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%"=="on" pause
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
cmd /C exit /B %ERROR_CODE%

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>WebProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>WebProject</name>
<description>WebProject</description>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

@ -1,13 +0,0 @@
package com.example.webproject;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WebProjectApplication.class);
}
}

@ -1,13 +0,0 @@
package com.example.webproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class WebProjectApplication {
public static void main(String[] args) {
SpringApplication.run(WebProjectApplication.class, args);
}
}

@ -1,250 +0,0 @@
package com.example.webproject.com.Control;
import com.example.webproject.com.Mapper.account_operator;
import com.example.webproject.com.Mapper.user_data_operator;
import com.example.webproject.com.Pojo.account;
import com.example.webproject.com.Pojo.user_data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
@Controller
public class control {
@Autowired
public account_operator account_operator;
@Autowired
public user_data_operator user_data_operator;
//这个是访问登录界面
@GetMapping("/index")
public String test()throws Exception{
System.out.println("index");
// 注意在使用thymleaf时要注意 版本要和starter-web的要配合使用
//否者会跳转不到相应的界面
return "Login";
}
//这里要开始编写我们的对于账号上面的处理了
@RequestMapping("/postProcessorRegistration")
public ModelAndView postProcessorRegistration(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,@RequestParam Map<String,String> map){
System.out.println("postProcessorRegistration");
//这里我们是进行注册操作
//我们先去数据库里面查一下,有没有这个账号
//有就给出错误
//否则就将其插入
//不能获取model 要获取modelMap
// Map<String, Object> model = modelAndView.getModel();
String account = (String)map.get("account");
String password = (String)map.get("password");
ModelAndView modelAndView = new ModelAndView();
account one = account_operator.findOne(account);
System.out.println("数据库中查询的值: "+one);
if(one == null){
System.out.println("数据库中不存在,进行插入操作");
account_operator.insertOne(new account(account,password));
System.out.println("插入完成");
//在这里我们要将账号创建成功的消息显示出来
modelAndView.setViewName("Login");
modelAndView.addObject("isHaveAccount","");
}else{
//在这里我们要将账号已近存在的消息回显
modelAndView.setViewName("Login");
modelAndView.addObject("isHaveAccount","当前账号已有");
}
return modelAndView;
}
//这里要开始编写我们的对于账号上面的处理了
@RequestMapping("/postProcessorLogin")
// @ResponseBody
public ModelAndView postProcessorLogin(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,@RequestParam Map<String,String> map){
System.out.println("postProcessorLogin");
ModelAndView modelAndView = new ModelAndView();
//首先我们先从map中拿到 account和 password
String account = (String)map.get("account");
String password = (String)map.get("password");
System.out.println("account=="+account);
System.out.println("password=="+ password);
account one = account_operator.findOne(account);
if(one == null){
System.out.println("还没有账号,请注册一个");
//将没有账号显示出去,提醒用户注册账号
modelAndView.addObject("isHaveAccount","还没有账号,注册一个");
modelAndView.setViewName("Login");
}else{
if((one.getTxl_password().equals(password))){
System.out.println("密码正确,登入成功");
// modelAndView.setViewName("data_operator");
modelAndView.setViewName("redirect:data");
//在这里要进行coockie的设置在response 里面进行操作
//我们要在登入界面进行操作一旦登入操作成功我们就在这里进行cookie设置
//将cookie设置过去
Cookie account_cookie = new Cookie("account",account);
Cookie password_cookie = new Cookie("password",password);
httpServletResponse.addCookie(account_cookie);
httpServletResponse.addCookie(password_cookie);
}else{
System.out.println("密码错误,登入失败");
modelAndView.setViewName("Login");
}
}
return modelAndView;
}
@RequestMapping("data")
public ModelAndView data_operator(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse){
//获得所有的cookie
Cookie[]cookies = httpServletRequest.getCookies();
//为cookie设置过期时间
String account = "";
for (Cookie cookie : cookies) {
//当我们设置了cookie之后就只能通过https进行传输了不会在http里面进行传输
// cookie.setSecure(true);
//设置为1星期的过期时间
// cookie.setMaxAge(7*24*60*60);
System.out.println(cookie.getName() + "==" + cookie.getValue());
if("account".equals(cookie.getName())){
account = cookie.getValue();
}
}
//我们就可以设置cookie,当我们发现cookie里面已经存在了账户之后就直接显示当前的这个用户的数据
ModelAndView modelAndView = new ModelAndView();
//这里我们后面肯定是要根据我们当前的一个用户,进行操作的
//我们根据页面上面的显示来进行操作
//页面上面有什么么,我们就要进行什么操作
//就显示一个列表,通过一个参数显示每页 要显示多少的数据,在显示出来总数据的条数
//在每条数据的后面我们就显示,一个删除的按钮,修改,
List<user_data> all = user_data_operator.findOne(account);
modelAndView.addObject("user_data",all);
modelAndView.setViewName("data_operator");
return modelAndView;
}
@RequestMapping("add_user_data")
public ModelAndView add_user_data(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,@RequestParam Map<String,String> map){
System.out.println("add_user_data");
ModelAndView modelAndView = new ModelAndView();
Cookie[]cookies = httpServletRequest.getCookies();
//为cookie设置过期时间
String account = "";
for (Cookie cookie : cookies) {
//当我们设置了cookie之后就只能通过https进行传输了不会在http里面进行传输
// cookie.setSecure(true);
//设置为1星期的过期时间
// cookie.setMaxAge(7*24*60*60);
System.out.println(cookie.getName() + "==" + cookie.getValue());
if("account".equals(cookie.getName())){
account = cookie.getValue();
}
}
//获取数据
String name = map.get("name");
// String sex = map.get("sex");
String contact_phone_number = map.get("contact_phone_number");
if(name != null || contact_phone_number != null){
//插入操作
user_data_operator.insertOne(account,name,contact_phone_number);
modelAndView.addObject("message","插入成功");
System.out.println("here");
//modelAndView.setViewName("redirect:data");
}else{
modelAndView.setViewName("add_user_data");
}
return modelAndView;
}
@RequestMapping("delete_user_data")
public ModelAndView delete_user_data(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,@RequestParam Map<String,String> map){
System.out.println("delete_user_data");
ModelAndView modelAndView = new ModelAndView();
Cookie[]cookies = httpServletRequest.getCookies();
//为cookie设置过期时间
String account = "";
for (Cookie cookie : cookies) {
//当我们设置了cookie之后就只能通过https进行传输了不会在http里面进行传输
// cookie.setSecure(true);
//设置为1星期的过期时间
// cookie.setMaxAge(7*24*60*60);
System.out.println(cookie.getName() + "==" + cookie.getValue());
if("account".equals(cookie.getName())){
account = cookie.getValue();
}
}
String name = map.get("name");
if(name != null ){
//删除操作
// user_data_operator
user_data_operator.deleteOne(account,name);
modelAndView.addObject("message","删除成功");
System.out.println("here");
// modelAndView.setViewName("redirect:data")
}else{
modelAndView.setViewName("delete_user_data");
}
return modelAndView;
}
@RequestMapping("find_user_data")
public ModelAndView find_user_data(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,@RequestParam Map<String,String> map){
System.out.println("find_user_data");
ModelAndView modelAndView = new ModelAndView();
Cookie[]cookies = httpServletRequest.getCookies();
//为cookie设置过期时间
String account = "";
for (Cookie cookie : cookies) {
//当我们设置了cookie之后就只能通过https进行传输了不会在http里面进行传输
// cookie.setSecure(true);
//设置为1星期的过期时间
// cookie.setMaxAge(7*24*60*60);
System.out.println(cookie.getName() + "==" + cookie.getValue());
if("account".equals(cookie.getName())){
account = cookie.getValue();
}
}
String name = map.get("name");
//查找完成后英爱回显数据
if(name != null ){
//查找操作
List<user_data> oneByName = user_data_operator.findOneByName(account, name);
modelAndView.addObject("message","查找完成");
modelAndView.addObject("user_data",oneByName);
System.out.println("here");
//modelAndView.setViewName("redirect:data");
}else{
modelAndView.setViewName("find_user_data");
}
return modelAndView;
}
}

@ -1,23 +0,0 @@
package com.example.webproject.com.Mapper;
import com.example.webproject.com.Pojo.account;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface account_operator {
//查出所有的记录
// @Select("select * from account_table")
public List<account> findAll();
// @Select("select * from account_table where txl_account=#{account}")
public account findOne( @Param("txl_account") String txl_account);
//新增加一条记录
// @Insert("insert into account_table values(txl_account=#{account},txl_password=#{password})")
public Integer insertOne(@Param("account") account account);
// //删除一条记录
//// @Delete("delete from account_table where txl_account=#{account}")
public Integer deleteOne(String txl_account);
}

@ -1,22 +0,0 @@
package com.example.webproject.com.Mapper;
import com.example.webproject.com.Pojo.user_data;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface user_data_operator {
// @Select("select * from user_data_table")
public List<user_data> findAll();
public List<user_data> findOne(String txl_account);
public List<user_data> findOneByName(String txl_account,String txl_name);
public Integer deleteOne(String txl_account,String txl_name);
public Integer insertOne(String account,String name,String contact_phone_number);
}

@ -1,23 +0,0 @@
package com.example.webproject.com.Pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class account {
private String txl_account;
private String txl_password;
@Override
public String toString() {
return "account{" +
"txl_account='" + txl_account + '\'' +
", txl_password='" + txl_password + '\'' +
'}';
}
}

@ -1,40 +0,0 @@
package com.example.webproject.com.Pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class user_data {
private String txl_account;
private String txl_name;
private String txl_contact_phone_number;
private String txl_email;
private String txl_address;
private String txl_social_media_account;
private String txl_company_name;
private String txl_position;
private String txl_remarks;
private String txl_birthday;
private String txl_hobbies;
@Override
public String toString() {
return "user_data{" +
"txl_account='" + txl_account + '\'' +
", txl_name='" + txl_name + '\'' +
", txl_contact_phone_number='" + txl_contact_phone_number + '\'' +
", txl_email='" + txl_email + '\'' +
", txl_address='" + txl_address + '\'' +
", txl_social_media_account='" + txl_social_media_account + '\'' +
", txl_company_name='" + txl_company_name + '\'' +
", txl_position='" + txl_position + '\'' +
", txl_remarks='" + txl_remarks + '\'' +
", txl_birthday='" + txl_birthday + '\'' +
", txl_hobbies='" + txl_hobbies + '\'' +
'}';
}
}

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.webproject.com.Mapper.account_operator">
<!-- @Select("select * from account_table")-->
<!-- public List<account> findAll();-->
<parameterMap id="param_account" type="com.example.webproject.com.Pojo.account"></parameterMap>
<resultMap id="result_account" type="com.example.webproject.com.Pojo.account"></resultMap>
<select id="findAll" resultMap="result_account">
select * from account_table
</select>
<!-- @Select("select * from account_table where txl_account=#{account}")-->
<!-- public account findOne(@Param("account")String account);-->
<select id="findOne" parameterType="String" resultMap="result_account">
select * from account_table where txl_account=#{txl_account}
</select>
<!-- @Insert("insert into account_table values(txl_account=#{account},txl_password=#{password})")-->
<!-- public Integer insertOne(@Param("account") account account);-->
<insert id="insertOne" parameterMap="param_account">
insert into account_table values( #{account.txl_account}, #{account.txl_password})
</insert>
<!-- @Delete("delete from account_table where txl_account=#{account}")-->
<!-- public Integer deleteOne(@Param("account")String account);-->
<delete id="deleteOne" parameterType="String">
delete from account_table where txl_account=#{txl_account}
</delete>
</mapper>

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.webproject.com.Mapper.user_data_operator">
<!-- // @Select("select * from user_data_table")-->
<!-- public List<user_data> findAll();-->
<resultMap id="result_user_data" type="com.example.webproject.com.Pojo.user_data">
</resultMap>
<parameterMap id="param_user_data" type="com.example.webproject.com.Pojo.user_data">
</parameterMap>
<select id="findAll" resultMap="result_user_data">
select * from user_data_table
</select>
<select id="findOne" resultMap="result_user_data" parameterType="string">
select * from user_data_table where txl_account=#{txl_account}
</select>
<select id="findOneByName" resultMap="result_user_data" parameterType="string">
select * from user_data_table where txl_account=#{txl_account} and txl_name=#{txl_name}
</select>
<delete id="deleteOne" parameterType="string" >
delete from user_data_table where txl_account=#{txl_account} and txl_name=#{txl_name}
</delete>
<insert id="insertOne" parameterType="string">
insert into user_data_table values(#{account},#{name},#{contact_phone_number},'','','','','','','','')
</insert>
</mapper>

@ -1,16 +0,0 @@
server:
port: 8080
servlet:
context-path: /home
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/student?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
password: 123456
username: root
mybatis:
mapper-locations: classpath:MyBatis/*.xml
type-aliases-package: com.example.webproject.com.Pojo

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

@ -1,272 +0,0 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>通讯录登入界面</title>
</head>
<style>
*{
margin:0px;
padding:0px;
}
body{
display:flex;
align-items: center;
justify-content: center;
border:1px solide transparent;
background-color:ivory;
}
#account{
display:inline-block;
width:250px;
height:75px;
border:1px solid transparent;
margin-top:80px;
}
#account input{
height:25px;
}
#passwd{
display:inline-block;
width:250px;
height:75px;
border:1px solid transparent;
}
#passwd input{
height:25px;
}
input {
text-indent: 3em;
border:0.3px solid rgb(177, 161, 161);
border-radius: 5px;
box-shadow: 0.5px 0.5px 0.5px 0.05px rgb(247, 194, 227) inset;
text-align: justify;
}
input:focus{
outline:none;
}
#head{
text-align: center;
margin-top:50px;
font-size:5ch;
font-family: 'Courier New', Courier, monospace;
}
div i{
color:rgb(151, 235, 227);
}
#login{
width:350px;
height:400px;
border:black solid 1px;
border-radius:3%;
background-color: rgb(255, 255, 255);
box-shadow: 1px 1px 3px 2px rgb(247, 194, 227);
box-sizing: border-box;
text-align: center;
transition:1s;
position: absolute;
transform:translateX(100px);
z-index: 1;
}
#button{
border: 1px solid rgb(223, 254, 252) ;
background-color: rgb(223, 254, 252);
height:35px;
width: 75px;
border-radius: 15%;
border-right: 0px;
}
#context{
width: 250px;
height: 400px;
border: 1px solid black;
box-sizing: border-box;
background-color: rgb(255, 255, 255);
box-shadow: 1px 1px 3px 2px rgb(247, 194, 227);
border-radius:3%;
display: flex;
justify-content: end;
align-items: center;
flex-direction:column;
transition: 1s;
position: absolute;
transform:translateX(-200px);
z-index: 2;
padding-bottom: 50px;
}
#context p{
display: flex;
justify-content: center;
align-items: center;
width: 250px;
height: 75px;
font-family: 'Courier New', Courier, monospace ;
color: chartreuse;
font-size: 2.5ch;
}
#registration{
width:350px;
height:400px;
border:black solid 1px;
border-radius:3%;
background-color: rgb(255, 255, 255);
box-shadow: 1px 1px 3px 2px rgb(247, 194, 227);
box-sizing: border-box;
text-align: center;
transition:1s;
position: absolute;
transform:translateX(100px);
}
#box{
width: 1000px;
height: 500px;
background-color: ivory;
margin-top: 5%;
border: 1px solid transparent;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
position: relative;
}
</style>
<body>
<div id="box">
<div id="context">
<p></p>
<p>注册</p>
</div>
<form id="login" th:action="@{/postProcessorLogin}" target="_self">
<div id="head">
<i>登录页面</i>
</div>
<div id="account">
<i>账号 : </i>
<input type="text" placeholder="请输入账号" name="account">
</div>
<div id="passwd">
<i>密码 : </i>
<input type="password" placeholder="请输入密码" name="password">
</div>
<div><button id="button">登入</button></div>
</form>
<form id="registration" th:action="@{/postProcessorRegistration}" target="_self" >
<div id="head">
<i>注册页面</i>
</div>
<div id="account">
<i>账号 : </i>
<input type="text" placeholder="请输入账号" name="account">
</div>
<div id="passwd">
<i>密码 : </i>
<input type="password" placeholder="请输入密码" name="password">
</div>
<div><button id="button">注册</button></div>
<form>
</div>
<script th:inline="javascript">
// 这里就写js代码 在我们点击上面的注册按钮之后就会转到注册界面上面
//注册完成之后就会显示 我们可以进行登录了,我们就在此点击登录按钮就可以了
var p = document.querySelector("#context p:nth-child(2)");
p.addEventListener("click", function(){
//我们可以通过判断当前的内容是什么来劲判断操作
if( p.innerText === '注册'){
//也就是是在我们点击了这个按钮之后我们就要将我们的登陆界面消掉
//将我们的注册界面显示出来
var login = document.querySelector("#login");
login.style.opacity=0;
login.zIndex='0';
var context = document.querySelector("#context");
context.style.transform='translateX(200px)';
p.innerText = '登入';
var registration = document.querySelector("#registration");
registration.style.transform = 'translateX(-100px)';
registration.style.zIndex = 1;
registration.style.opacity = 1;
}
else if( p.innerText==='登入') {
var registration = document.querySelector("#registration");
registration.style.opacity = 0;
registration.zIndex = '0';
var context = document.querySelector("#context");
context.style.transform = 'translateX(-200px)';
p.innerText = '注册';
var login = document.querySelector("#login");
login.style.transform = 'translateX(100px)';
login.style.zIndex = 1;
login.style.opacity = 1;
}
//这个是将我们显示的 账号已有进行刷新的操作
var secondP = document.querySelector("#context p:first-child");
secondP.innerText = "";
});
//这个是判断当前是否已经发有了账号
//账号 在数据库里已经有了的不能使用相同的账号
var isHaveAccount = [[${isHaveAccount}]];
if(isHaveAccount != null){
if(isHaveAccount === "当前账号已有"){
p.innerText = '注册';
console.log("没有账号")
var login = document.querySelector("#login");
login.style.opacity=0;
login.zIndex='0';
var context = document.querySelector("#context");
context.style.transform='translateX(200px)';
p.innerText = '登入';
var registration = document.querySelector("#registration");
registration.style.transform = 'translateX(-100px)';
registration.style.zIndex = 1;
registration.style.opacity = 1;
//要输出已有
var secondP = document.querySelector("#context p:first-child");
secondP.innerText = isHaveAccount;
secondP.style.color="red";
}else if(isHaveAccount ===''){
console.log("没有账号")
}
console.log("还没有置为null " + isHaveAccount);
isHaveAccount=null;
console.log("值为null " + isHaveAccount);
}
</script>
</body>
</html>

@ -1,148 +0,0 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>添加联系人</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black;
}
button,
input {
border: 0;
outline: none;
}
section {
border-radius: 15px;
width: 560px;
height: 700px;
margin: 0 auto;
background-image: url(../static/bg2.jpg);
box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .1);
}
.title {
width: 560px;
height: 100px;
line-height: 100px;
text-align: center;
}
.xinxi {
width: 560px;
height: 400px;
font-size: 20px;
text-align: center;
}
tr td {
height: 100px;
text-align: center;
line-height: 100px;
}
.name,
.php {
width: 249px;
height: 30px;
}
.submit {
width: 200px;
height: 30px;
color: aqua;
border-radius: 5px;
}
.submit:hover {
background-color: skyblue;
cursor: pointer;
}
footer {
width: 560px;
height: 100px;
font-size: 20px;
text-align: center;
line-height: 100px;
}
footer a {
display: block;
margin: 0 auto;
width: 560px;
height: 100px;
}
footer a:hover {
color: aqua;
}
</style>
</head>
<body>
<section class="add">
<header class="title">
<h1>添加联系人</h1>
</header>
<div class="xinxi">
<form th:action="@{/add_user_data}" target="_self" >
<table width="600px">
<tr>
<td><label for="m">添加的联系人姓名:</label></td>
<td><input class="name" type="text" id="m" name="name" placeholder="请输入联系人姓名"></td>
</tr>
<!-- <tr>-->
<!-- <td>性别:</td>-->
<!-- <td><label for="nan">男</label><input type="radio" name="sex" id="nan">&nbsp;&nbsp;&nbsp;-->
<!-- <label for="nv">女</label><input type="radio" name="sex" id="nv">-->
<!-- </td>-->
<!-- </tr>-->
<tr>
<td><label for="php">电话号码:</label></td>
<td><input class="php" type="password" id="php" name="contact_phone_number" placeholder="请输入电话号码" required="required">
</td>
</tr>
<tr>
<td colspan="2"><input class="submit" type="submit" value="确认添加" name="上传"></td>
</tr>
</table>
</form>
<div id="message"><p></p></div>
</div>
<footer>
<a th:href="@{/data}">返回联系人列表</a>
</footer>
</section>
</body>
<script th:inline="javascript">
var message = [[${message}]];
if(message != null){
var p = document.querySelector("p");
p.innerText = message;
p.style.color='red';
console.log(message);
}
console.log("message");
</script>
</html>

@ -1,206 +0,0 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
body{
display:flex;
justify-content: center;
align-items: center;
padding: 150px;
background-color: ivory;
}
#box{
display:flex;
justify-content:center;
align-items: center;
width: 100%;
height: 100%;
background-color: ivory;
flex-direction: column;
padding: 150px;
}
#head{
width: 1200px;
height: 100px;
display:flex;
justify-content: center;
align-items: center;
/* background-color: aqua; */
}
#head table{
border-collapse: collapse;
}
td{
text-align: center;
vertical-align: center;
background-color:rgba(255,255,255,0.5);
border: 1px solid black;
}
#content {
width: 1200px;
/* height: 800px; */
display:flex;
justify-content: center;
align-items: center;
flex-direction: column;
/* background-color: red; */
/* z-index: -1; */
}
#content table{
border-collapse: collapse;
}
#content table tr{
background-color: bisque;
}
#operator{
display:flex;
justify-content: space-evenly;
align-items: center;
width: 1200px;
}
#operator input{
border: 1px solid rgb(223, 254, 252) ;
background-color: rgb(223, 254, 252);
height:50px;
width: 125px;
border-radius: 15%;
font-size:2.5ch;
font-family: 'Courier New', Courier, monospace;
margin-top: 20px;
}
</style>
</head>
<!-- 可以设计成两边 一边是姓名和电话 另一边就是具体的一些信息就像Maa那样 -->
<body>
<!-- 先做出来一个表格-->
<main id="box">
<!-- 在这里增加三个按钮-->
<div id="operator">
<input type="button" value="增加联系人">
<input type="button" value="删除联系人">
<input type="button" value="查找联系人">
</div>
<!-- 这里是首行,我们要在这里增加我们对应的显示功能 -->
<div id="head">
<!-- <span>账号</span> -->
<table>
<tr>
<td>姓名</td>
<td>联系电话</td>
<td>邮箱</td>
<td>地址</td>
<td>社交账号</td>
<td>公司名称</td>
<td>职位</td>
<td>标记</td>
<td>生日</td>
<td>爱好</td>
</tr>
</table>
</div>
<div id="content">
<table th:each="data:${user_data}">
<tr>
<!-- <span th:text="${data.txl_account}"></span> -->
<td th:text="${data.txl_name}"></td>
<td th:text="${data.txl_contact_phone_number}"></td>
<td th:text="${data.txl_email}"></td>
<td th:text="${data.txl_address}"></td>
<td th:text="${data.txl_social_media_account}"></td>
<td th:text="${data.txl_company_name}"></td>
<td th:text="${data.txl_position}"></td>
<td th:text="${data.txl_remarks}"></td>
<td th:text="${data.txl_birthday}"></td>
<td th:text="${data.txl_hobbies}"></td>
<!-- <td>账号</td> -->
<!-- <td>姓名</td>
<td>联系电话</td>
<td>邮箱</td>
<td>地址</td>
<td>社交账号</td>
<td>公司名称</td>
<td>职位</td>
<td>标记</td>
<td>生日</td>
<td>爱好</td> -->
</tr>
</table>
</div>
</main>
</body>
<script>
// var widths = [100,100,100,100,100,100,100,100,100,100,100];
var widths = [100,100,100,100,100,100,100,100,100,100];
var head = document.querySelector("#head table tr");
for(var num = 0; num < widths.length; ++num){
head.children[num].style.width = widths[num] + 'px';
head.children[num].style.height = widths[num] + 'px';
// head.children[num].style.borderCollapse = "collapse";
}
//到时候渲染,就要先找到 div,ul,li 才行
// var head = document.querySelector("li");
var lis = document.querySelectorAll("#content table tr");
// console.log(lis)
for(var item = 0; item < lis.length; ++item){
var cur = lis[item];
// console.log(cur)
// console.log(cur.childElementCount)
for(var num = 0; num < cur.childElementCount; ++num){
cur.children[num].style.width = widths[num] + 'px';
cur.children[num].style.height = widths[num] + 'px';
// cur.children[num].style.borderCollapse = "collapse";
}
}
var tables = document.querySelectorAll("#content table");
console.log(tables);
for(var index = 0; index < tables.length; ++index){
tables[index].style.borderCollapse="collapse";
}
var inputs = document.querySelectorAll("#operator input");
inputs[0].addEventListener("click",function(){
window.location.href = "add_user_data";
})
inputs[1].addEventListener("click",function(){
window.location.href = "delete_user_data";
})
inputs[2].addEventListener("click",function(){
window.location.href = "find_user_data";
})
</script>
</html>

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>查找联系人</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black;
}
button,
input {
border: 0;
outline: none;
}
section {
border-radius: 15px;
width: 560px;
height: 700px;
margin: 0 auto;
background-image: url(../static/bg2.jpg);
box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .1);
text-align: center;
}
.title {
width: 560px;
height: 150px;
line-height: 150px;
text-align: center;
}
.search {
position: relative;
width: 560px;
height: 400px;
}
.sousuo {
position: absolute;
left: 100px;
width: 246px;
height: 40px;
padding-left: 50px;
}
.search input[type=submit] {
position: absolute;
left: 346px;
width: 100px;
height: 40px;
}
.search input[type=submit]:hover {
cursor: pointer;
background-color: skyblue;
}
footer {
width: 560px;
height: 100px;
font-size: 20px;
text-align: center;
line-height: 100px;
}
footer a {
display: block;
margin: 0 auto;
width: 560px;
height: 100px;
}
footer a:hover {
color: aqua;
}
</style>
</head>
<body>
<section>
<div class="title">
<h1>删除联系人</h1>
</div>
<form th:action="@{/delete_user_data}" target="_self" >
<div class="search">
<input class="sousuo" type="search" name="name" placeholder="请输入要删除的联系人姓名">
<input type="submit" value="确认删除">
</div>
</form>
<div id="message"><p></p></div>
<footer>
<a th:href="@{/data}">返回联系人列表</a>
</footer>
</section>
<script th:inline="javascript">
var message = [[${message}]];
if(message != null){
var p = document.querySelector("p");
p.style.color='red';
p.innerText = message;
}
</script>
</body>
</html>

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
This is 404 page
</body>
</html>

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
This is error page
</body>
</html>

@ -1,120 +0,0 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>查找联系人</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
a {
text-decoration: none;
color: black;
}
button,
input {
border: 0;
outline: none;
}
section {
border-radius: 15px;
width: 560px;
height: 700px;
margin: 0 auto;
background-image: url(../static/bg2.jpg);
box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .1);
text-align: center;
}
.title {
width: 560px;
height: 150px;
line-height: 150px;
text-align: center;
}
.search {
position: relative;
width: 560px;
height: 400px;
}
.sousuo {
position: absolute;
left: 100px;
width: 246px;
height: 40px;
padding-left: 50px;
}
.search input[type=submit] {
position: absolute;
left: 346px;
width: 100px;
height: 40px;
}
.search input[type=submit]:hover {
cursor: pointer;
background-color: skyblue;
}
footer {
width: 560px;
height: 100px;
font-size: 20px;
text-align: center;
line-height: 100px;
}
footer a {
display: block;
margin: 0 auto;
width: 560px;
height: 100px;
}
footer a:hover {
color: aqua;
}
</style>
</head>
<body>
<section>
<div class="title">
<h1>查找联系人</h1>
</div>
<form th:action="@{/find_user_data}" target="_self" >
<div class="search">
<input class="sousuo" type="search" name="name" placeholder="请输入要查找的联系人姓名">
<input type="submit" value="确认查找">
</div>
</form>
<div id="message"><p></p></div>
<footer>
<a th:href="@{/data}">返回联系人列表</a>
</footer>
</section>
<script th:inline="javascript">
var message = [[${message}]];
if(message != null){
var p = document.querySelector("p");
p.innerText = message;
p.style.color='red';
}
</script>
</body>
</html>

@ -1,13 +0,0 @@
package com.example.webproject;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class WebProjectApplicationTests {
@Test
void contextLoads() {
}
}

@ -1,22 +0,0 @@
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>
#define LEN 512
int main(int argc, char** argv) {
int f1, f2, f3, n = 0;
char buf[520], ch = '\n';
f1 = open(argv[1], O_RDWR);
f2 = open(argv[2], O_RDWR);
f3 = open(argv[3], O_CREAT | O_RDWR);
while ((n = read(f1, buf, LEN)) > 0)
write(f3, buf, n);
write(f3, &ch, 1);
while ((n = read(f2, buf, LEN)) > 0)
write(f3, buf, n);
close(f1);
close(f2);
close(f3);
return 0;
}

File diff suppressed because one or more lines are too long

@ -1,717 +0,0 @@
{
"_type": "Project",
"_id": "AAAAAAFF+h6SjaM2Hec=",
"name": "Untitled",
"ownedElements": [
{
"_type": "UMLModel",
"_id": "AAAAAAFF+qBWK6M3Z8Y=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model",
"ownedElements": [
{
"_type": "UMLClassDiagram",
"_id": "AAAAAAFF+qBtyKM79qY=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "Main",
"defaultDiagram": true
}
]
},
{
"_type": "UMLModel",
"_id": "AAAAAAGLnniJ41ZzBa8=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model1",
"ownedElements": [
{
"_type": "UMLUseCaseDiagram",
"_id": "AAAAAAGLnniJ41Z022Y=",
"_parent": {
"$ref": "AAAAAAGLnniJ41ZzBa8="
},
"name": "UseCaseDiagram1",
"ownedViews": [
{
"_type": "UMLActorView",
"_id": "AAAAAAGLnniVElZ6Tl8=",
"_parent": {
"$ref": "AAAAAAGLnniJ41Z022Y="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnniVElZ7Ihw=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnniVElZ88/k=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ7Ihw="
},
"visible": false,
"font": "Arial;13;0",
"top": -16,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnniVElZ98yU=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ7Ihw="
},
"font": "Arial;13;1",
"left": 229,
"top": 301,
"width": 78,
"height": 13,
"text": "客户"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnniVElZ+ZB8=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ7Ihw="
},
"visible": false,
"font": "Arial;13;0",
"top": -16,
"width": 90.00341796875,
"height": 13,
"text": "(from Model1)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnniVElZ/6rQ=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ7Ihw="
},
"visible": false,
"font": "Arial;13;0",
"top": -16,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 224,
"top": 294,
"width": 88,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnniVElZ88/k="
},
"nameLabel": {
"$ref": "AAAAAAGLnniVElZ98yU="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnniVElZ+ZB8="
},
"propertyLabel": {
"$ref": "AAAAAAGLnniVElZ/6rQ="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnniVElaAWDA=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"visible": false,
"font": "Arial;13;0",
"top": -8,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnniVElaBTDg=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"visible": false,
"font": "Arial;13;0",
"top": -8,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnniVElaCoPE=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"visible": false,
"font": "Arial;13;0",
"top": -8,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnniVElaDnIU=",
"_parent": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"model": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"visible": false,
"font": "Arial;13;0",
"top": -8,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 224,
"top": 240,
"width": 88,
"height": 80,
"nameCompartment": {
"$ref": "AAAAAAGLnniVElZ7Ihw="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnniVElaAWDA="
},
"operationCompartment": {
"$ref": "AAAAAAGLnniVElaBTDg="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnniVElaCoPE="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnniVElaDnIU="
}
},
{
"_type": "UMLUseCaseView",
"_id": "AAAAAAGLnnps8FakxYk=",
"_parent": {
"$ref": "AAAAAAGLnniJ41Z022Y="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnnps8FalaSg=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnnps8FamBw4=",
"_parent": {
"$ref": "AAAAAAGLnnps8FalaSg="
},
"visible": false,
"font": "Arial;13;0",
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnnps8FanwzI=",
"_parent": {
"$ref": "AAAAAAGLnnps8FalaSg="
},
"font": "Arial;13;1",
"left": 370.3876953125,
"top": 259.5,
"width": 77,
"height": 13,
"text": "分享联系人"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnnps8Faokls=",
"_parent": {
"$ref": "AAAAAAGLnnps8FalaSg="
},
"visible": false,
"font": "Arial;13;0",
"width": 80.9072265625,
"height": 13,
"text": "(from Model1)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnnps8FapBL0=",
"_parent": {
"$ref": "AAAAAAGLnnps8FalaSg="
},
"visible": false,
"font": "Arial;13;0",
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 365.3876953125,
"top": 252.5,
"width": 87,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnnps8FamBw4="
},
"nameLabel": {
"$ref": "AAAAAAGLnnps8FanwzI="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnnps8Faokls="
},
"propertyLabel": {
"$ref": "AAAAAAGLnnps8FapBL0="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnnps8FaqDQM=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnnps8FarFq0=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnnps8FasrjE=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnnps8Vat92s=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLExtensionPointCompartmentView",
"_id": "AAAAAAGLnnps8VauWbg=",
"_parent": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"model": {
"$ref": "AAAAAAGLnnps8Faiuss="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 346.8876953125,
"top": 248,
"width": 124,
"height": 35,
"nameCompartment": {
"$ref": "AAAAAAGLnnps8FalaSg="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnnps8FaqDQM="
},
"operationCompartment": {
"$ref": "AAAAAAGLnnps8FarFq0="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnnps8FasrjE="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnnps8Vat92s="
},
"extensionPointCompartment": {
"$ref": "AAAAAAGLnnps8VauWbg="
}
},
{
"_type": "UMLAssociationView",
"_id": "AAAAAAGLnnptA1bTD4w=",
"_parent": {
"$ref": "AAAAAAGLnniJ41Z022Y="
},
"model": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"subViews": [
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbU/nE=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"visible": false,
"font": "Arial;13;0",
"left": 327,
"top": 252,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbVtOo=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"visible": null,
"font": "Arial;13;0",
"left": 325,
"top": 237,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbWNcU=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"visible": false,
"font": "Arial;13;0",
"left": 330,
"top": 281,
"height": 13,
"alpha": -1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbX4fc=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bQIxI="
},
"visible": false,
"font": "Arial;13;0",
"left": 336,
"top": 251,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbY0Fw=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bQIxI="
},
"visible": false,
"font": "Arial;13;0",
"left": 336,
"top": 237,
"height": 13,
"alpha": 0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbZjoQ=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bQIxI="
},
"visible": false,
"font": "Arial;13;0",
"left": 334,
"top": 278,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbaFUc=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bR2/0="
},
"visible": false,
"font": "Arial;13;0",
"left": 318,
"top": 253,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbbvHs=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bR2/0="
},
"visible": false,
"font": "Arial;13;0",
"left": 314,
"top": 240,
"height": 13,
"alpha": -0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnnptBFbcp0E=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bR2/0="
},
"visible": false,
"font": "Arial;13;0",
"left": 325,
"top": 279,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnnptA1bTD4w="
}
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnnptBFbd+/4=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bQIxI="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnnptBFbe/X8=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bTD4w="
},
"model": {
"$ref": "AAAAAAGLnnptA1bR2/0="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"head": {
"$ref": "AAAAAAGLnnps8FakxYk="
},
"tail": {
"$ref": "AAAAAAGLnniVElZ6Tl8="
},
"lineStyle": 1,
"points": "312:275;346:271",
"showVisibility": true,
"nameLabel": {
"$ref": "AAAAAAGLnnptBFbU/nE="
},
"stereotypeLabel": {
"$ref": "AAAAAAGLnnptBFbVtOo="
},
"propertyLabel": {
"$ref": "AAAAAAGLnnptBFbWNcU="
},
"showEndOrder": "hide",
"tailRoleNameLabel": {
"$ref": "AAAAAAGLnnptBFbX4fc="
},
"tailPropertyLabel": {
"$ref": "AAAAAAGLnnptBFbY0Fw="
},
"tailMultiplicityLabel": {
"$ref": "AAAAAAGLnnptBFbZjoQ="
},
"headRoleNameLabel": {
"$ref": "AAAAAAGLnnptBFbaFUc="
},
"headPropertyLabel": {
"$ref": "AAAAAAGLnnptBFbbvHs="
},
"headMultiplicityLabel": {
"$ref": "AAAAAAGLnnptBFbcp0E="
},
"tailQualifiersCompartment": {
"$ref": "AAAAAAGLnnptBFbd+/4="
},
"headQualifiersCompartment": {
"$ref": "AAAAAAGLnnptBFbe/X8="
}
}
]
},
{
"_type": "UMLActor",
"_id": "AAAAAAGLnniVEVZ432w=",
"_parent": {
"$ref": "AAAAAAGLnniJ41ZzBa8="
},
"name": "客户",
"ownedElements": [
{
"_type": "UMLAssociation",
"_id": "AAAAAAGLnnptA1bP5Nw=",
"_parent": {
"$ref": "AAAAAAGLnniVEVZ432w="
},
"end1": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnnptA1bQIxI=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"reference": {
"$ref": "AAAAAAGLnniVEVZ432w="
}
},
"end2": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnnptA1bR2/0=",
"_parent": {
"$ref": "AAAAAAGLnnptA1bP5Nw="
},
"reference": {
"$ref": "AAAAAAGLnnps8Faiuss="
}
}
}
]
},
{
"_type": "UMLUseCase",
"_id": "AAAAAAGLnnps8Faiuss=",
"_parent": {
"$ref": "AAAAAAGLnniJ41ZzBa8="
},
"name": "分享联系人"
}
]
}
]
}

@ -1,55 +0,0 @@
#include <iostream>
#include <vector>
#include <queue>
#include <cmath>
using namespace std;
const int N = (1 << 20) + 10;
int n,m;
int v[N],w[N];
int res = -1;
int s[N]; // s[i]存储的是从第1件物品到第i件物品的价值总和
struct good{
int idx,c,r,tv; // idx表示选法下标c表示该选法的当前总价值r表示当前选法的剩余总价值tv表示该选法的当前总体积
bool operator > (const good& W) const{
return W.c + W.r > c + r;
}
}goods[N];
int bfs(){
goods[1] = {1,0,0,0};
priority_queue<good,vector<good>,greater<good>> q;
q.push(goods[1]);
while(q.size()){
auto t = q.top();
// cout << t.idx << endl;
q.pop();
int idx = t.idx << 1;
goods[idx] = {idx,goods[t.idx].c,s[n] - s[(int)log2(idx)],goods[t.idx].tv};
goods[idx + 1] = {idx + 1,goods[t.idx].c + w[(int)log2(idx)],s[n] - s[(int)log2(idx)],goods[t.idx].tv + v[(int)log2(idx)]};
if((int)log2(t.idx) == n) { // 假如已经是子节点,则更新答案
res = max(res,t.c);
continue;
}
if(goods[idx].tv <= m && goods[idx].c + goods[idx].r > res) q.push(goods[idx]); // 假如当前选法的总体积不超过背包容量,且当前价值+剩余价值 > 当前最优解,则装入背包
if(goods[idx + 1].tv <= m && goods[idx + 1].c + goods[idx + 1].r > res) q.push(goods[idx + 1]);
}
return res;
}
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i ++) cin >> v[i] >> w[i],s[i] = s[i - 1] + w[i];
//
// for(int i = 2; i < 1 << n + 1; i ++){
// goods[i] = {i,goods[i >> 1].c + (i&1)*w[(int)log2(i)],s[n] - s[(int)log2(i)],goods[i >> 1].tv + (i&1)*v[(int)log2(i)]};
// }
//
// for(int i = 1; i < 1 << n + 1; i ++) printf("i = %d,c[i] = %d,r[i] = %d,tv[i] = %d\n",goods[i].idx,goods[i].c,goods[i].r,goods[i].tv);
cout << bfs() << endl;
return 0;
}

@ -1,826 +0,0 @@
{
"_type": "Project",
"_id": "AAAAAAFF+h6SjaM2Hec=",
"name": "Untitled",
"ownedElements": [
{
"_type": "UMLModel",
"_id": "AAAAAAFF+qBWK6M3Z8Y=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model",
"ownedElements": [
{
"_type": "UMLClassDiagram",
"_id": "AAAAAAFF+qBtyKM79qY=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "Main",
"defaultDiagram": true
},
{
"_type": "UMLUseCaseDiagram",
"_id": "AAAAAAGLnppTA25G0gw=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "UseCaseDiagram1",
"ownedViews": [
{
"_type": "UMLActorView",
"_id": "AAAAAAGLnppal25Layw=",
"_parent": {
"$ref": "AAAAAAGLnppTA25G0gw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnppamG5MA/U=",
"_parent": {
"$ref": "AAAAAAGLnppal25Layw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnppamG5NKMQ=",
"_parent": {
"$ref": "AAAAAAGLnppamG5MA/U="
},
"visible": false,
"font": "Arial;13;0",
"top": -48,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppamG5OZ0s=",
"_parent": {
"$ref": "AAAAAAGLnppamG5MA/U="
},
"font": "Arial;13;1",
"left": 109,
"top": 261,
"width": 43.8876953125,
"height": 13,
"text": "客户"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppamG5P12Y=",
"_parent": {
"$ref": "AAAAAAGLnppamG5MA/U="
},
"visible": false,
"font": "Arial;13;0",
"top": -48,
"width": 82.3798828125,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppamG5Qbpw=",
"_parent": {
"$ref": "AAAAAAGLnppamG5MA/U="
},
"visible": false,
"font": "Arial;13;0",
"top": -48,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 104,
"top": 254,
"width": 53.8876953125,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnppamG5NKMQ="
},
"nameLabel": {
"$ref": "AAAAAAGLnppamG5OZ0s="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnppamG5P12Y="
},
"propertyLabel": {
"$ref": "AAAAAAGLnppamG5Qbpw="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnppamG5RcDk=",
"_parent": {
"$ref": "AAAAAAGLnppal25Layw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"visible": false,
"font": "Arial;13;0",
"top": -24,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnppamG5S9jA=",
"_parent": {
"$ref": "AAAAAAGLnppal25Layw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"visible": false,
"font": "Arial;13;0",
"top": -24,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnppamG5TtWQ=",
"_parent": {
"$ref": "AAAAAAGLnppal25Layw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"visible": false,
"font": "Arial;13;0",
"top": -24,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnppamW5UMrw=",
"_parent": {
"$ref": "AAAAAAGLnppal25Layw="
},
"model": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"visible": false,
"font": "Arial;13;0",
"top": -24,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 104,
"top": 200,
"width": 53.8876953125,
"height": 80,
"nameCompartment": {
"$ref": "AAAAAAGLnppamG5MA/U="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnppamG5RcDk="
},
"operationCompartment": {
"$ref": "AAAAAAGLnppamG5S9jA="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnppamG5TtWQ="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnppamW5UMrw="
}
},
{
"_type": "UMLUseCaseView",
"_id": "AAAAAAGLnppvf251r2M=",
"_parent": {
"$ref": "AAAAAAGLnppTA25G0gw="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnppvf252AP0=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnppvf253eyI=",
"_parent": {
"$ref": "AAAAAAGLnppvf252AP0="
},
"visible": false,
"font": "Arial;13;0",
"left": 58.224609375,
"top": -80,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppvf254p58=",
"_parent": {
"$ref": "AAAAAAGLnppvf252AP0="
},
"font": "Arial;13;1",
"left": 277,
"top": 195.5,
"width": 64,
"height": 13,
"text": "查找联系人"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppvf255E28=",
"_parent": {
"$ref": "AAAAAAGLnppvf252AP0="
},
"visible": false,
"font": "Arial;13;0",
"left": 58.224609375,
"top": -80,
"width": 73.67724609375,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppvf2565Hw=",
"_parent": {
"$ref": "AAAAAAGLnppvf252AP0="
},
"visible": false,
"font": "Arial;13;0",
"left": 58.224609375,
"top": -80,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 272,
"top": 188.5,
"width": 75,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnppvf253eyI="
},
"nameLabel": {
"$ref": "AAAAAAGLnppvf254p58="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnppvf255E28="
},
"propertyLabel": {
"$ref": "AAAAAAGLnppvf2565Hw="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnppvf257uy0=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"visible": false,
"font": "Arial;13;0",
"left": 29.1123046875,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnppvf258HkA=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"visible": false,
"font": "Arial;13;0",
"left": 29.1123046875,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnppvf259jTw=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"visible": false,
"font": "Arial;13;0",
"left": 29.1123046875,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnppvf25+S2Y=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"visible": false,
"font": "Arial;13;0",
"left": 29.1123046875,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLExtensionPointCompartmentView",
"_id": "AAAAAAGLnppvf25/nJA=",
"_parent": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"model": {
"$ref": "AAAAAAGLnppvf25zC/U="
},
"visible": false,
"font": "Arial;13;0",
"left": 29.1123046875,
"top": -40,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 256,
"top": 184,
"width": 106,
"height": 35,
"nameCompartment": {
"$ref": "AAAAAAGLnppvf252AP0="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnppvf257uy0="
},
"operationCompartment": {
"$ref": "AAAAAAGLnppvf258HkA="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnppvf259jTw="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnppvf25+S2Y="
},
"extensionPointCompartment": {
"$ref": "AAAAAAGLnppvf25/nJA="
}
},
{
"_type": "UMLAssociationView",
"_id": "AAAAAAGLnppvpW6kxD8=",
"_parent": {
"$ref": "AAAAAAGLnppTA25G0gw="
},
"model": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"subViews": [
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpW6lh3U=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"visible": false,
"font": "Arial;13;0",
"left": 203,
"top": 201,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6m2pQ=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"visible": null,
"font": "Arial;13;0",
"left": 200,
"top": 186,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6nu3U=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"visible": false,
"font": "Arial;13;0",
"left": 208,
"top": 230,
"height": 13,
"alpha": -1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6oHHA=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6hT2I="
},
"visible": false,
"font": "Arial;13;0",
"left": 180,
"top": 206,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6peGU=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6hT2I="
},
"visible": false,
"font": "Arial;13;0",
"left": 179,
"top": 193,
"height": 13,
"alpha": 0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6qlY4=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6hT2I="
},
"visible": false,
"font": "Arial;13;0",
"left": 181,
"top": 234,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6ryZw=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6iY9U="
},
"visible": false,
"font": "Arial;13;0",
"left": 226,
"top": 196,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6s+E8=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6iY9U="
},
"visible": false,
"font": "Arial;13;0",
"left": 221,
"top": 184,
"height": 13,
"alpha": -0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnppvpm6t2YI=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6iY9U="
},
"visible": false,
"font": "Arial;13;0",
"left": 236,
"top": 222,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnppvpW6kxD8="
}
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnppvpm6uozs=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6hT2I="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnppvpm6vnfI=",
"_parent": {
"$ref": "AAAAAAGLnppvpW6kxD8="
},
"model": {
"$ref": "AAAAAAGLnppvpW6iY9U="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"head": {
"$ref": "AAAAAAGLnppvf251r2M="
},
"tail": {
"$ref": "AAAAAAGLnppal25Layw="
},
"lineStyle": 1,
"points": "158:233;255:212",
"showVisibility": true,
"nameLabel": {
"$ref": "AAAAAAGLnppvpW6lh3U="
},
"stereotypeLabel": {
"$ref": "AAAAAAGLnppvpm6m2pQ="
},
"propertyLabel": {
"$ref": "AAAAAAGLnppvpm6nu3U="
},
"showEndOrder": "hide",
"tailRoleNameLabel": {
"$ref": "AAAAAAGLnppvpm6oHHA="
},
"tailPropertyLabel": {
"$ref": "AAAAAAGLnppvpm6peGU="
},
"tailMultiplicityLabel": {
"$ref": "AAAAAAGLnppvpm6qlY4="
},
"headRoleNameLabel": {
"$ref": "AAAAAAGLnppvpm6ryZw="
},
"headPropertyLabel": {
"$ref": "AAAAAAGLnppvpm6s+E8="
},
"headMultiplicityLabel": {
"$ref": "AAAAAAGLnppvpm6t2YI="
},
"tailQualifiersCompartment": {
"$ref": "AAAAAAGLnppvpm6uozs="
},
"headQualifiersCompartment": {
"$ref": "AAAAAAGLnppvpm6vnfI="
}
},
{
"_type": "UMLUseCaseSubjectView",
"_id": "AAAAAAGLnpqfPm8fdZY=",
"_parent": {
"$ref": "AAAAAAGLnppTA25G0gw="
},
"model": {
"$ref": "AAAAAAGLnpqfPm8dLkA="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnpqfPm8gLbk=",
"_parent": {
"$ref": "AAAAAAGLnpqfPm8fdZY="
},
"model": {
"$ref": "AAAAAAGLnpqfPm8dLkA="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqfP28hcl0=",
"_parent": {
"$ref": "AAAAAAGLnpqfPm8gLbk="
},
"visible": false,
"font": "Arial;13;0",
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqfP28i8MM=",
"_parent": {
"$ref": "AAAAAAGLnpqfPm8gLbk="
},
"font": "Arial;13;1",
"left": 205,
"top": 127,
"width": 215,
"height": 13,
"text": "通讯录管理系统"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqfP28j9vs=",
"_parent": {
"$ref": "AAAAAAGLnpqfPm8gLbk="
},
"visible": false,
"font": "Arial;13;0",
"width": 73.67724609375,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqfP28kSMk=",
"_parent": {
"$ref": "AAAAAAGLnpqfPm8gLbk="
},
"visible": false,
"font": "Arial;13;0",
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 200,
"top": 120,
"width": 225,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnpqfP28hcl0="
},
"nameLabel": {
"$ref": "AAAAAAGLnpqfP28i8MM="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnpqfP28j9vs="
},
"propertyLabel": {
"$ref": "AAAAAAGLnpqfP28kSMk="
}
}
],
"font": "Arial;13;0",
"left": 200,
"top": 120,
"width": 225,
"height": 313,
"nameCompartment": {
"$ref": "AAAAAAGLnpqfPm8gLbk="
}
}
]
},
{
"_type": "UMLActor",
"_id": "AAAAAAGLnppal25JQ9g=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "客户",
"ownedElements": [
{
"_type": "UMLAssociation",
"_id": "AAAAAAGLnppvpG6gYiI=",
"_parent": {
"$ref": "AAAAAAGLnppal25JQ9g="
},
"end1": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnppvpW6hT2I=",
"_parent": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"reference": {
"$ref": "AAAAAAGLnppal25JQ9g="
}
},
"end2": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnppvpW6iY9U=",
"_parent": {
"$ref": "AAAAAAGLnppvpG6gYiI="
},
"reference": {
"$ref": "AAAAAAGLnppvf25zC/U="
}
}
}
]
},
{
"_type": "UMLUseCase",
"_id": "AAAAAAGLnppvf25zC/U=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "查找联系人"
},
{
"_type": "UMLUseCaseSubject",
"_id": "AAAAAAGLnpqfPm8dLkA=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "通讯录管理系统"
}
]
}
]
}

@ -1,833 +0,0 @@
{
"_type": "Project",
"_id": "AAAAAAFF+h6SjaM2Hec=",
"name": "Untitled",
"ownedElements": [
{
"_type": "UMLModel",
"_id": "AAAAAAFF+qBWK6M3Z8Y=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model",
"ownedElements": [
{
"_type": "UMLClassDiagram",
"_id": "AAAAAAFF+qBtyKM79qY=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "Main",
"defaultDiagram": true
},
{
"_type": "UMLUseCaseDiagram",
"_id": "AAAAAAGLnqUQgK9KAKU=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "UseCaseDiagram1",
"ownedViews": [
{
"_type": "UMLActorView",
"_id": "AAAAAAGLnqUXZK9PlWI=",
"_parent": {
"$ref": "AAAAAAGLnqUQgK9KAKU="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnqUXZK9QlD4=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUXZK9RLfM=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9QlD4="
},
"visible": false,
"font": "Arial;13;0",
"left": 32,
"top": -80,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUXZK9S/iw=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9QlD4="
},
"font": "Arial;13;1",
"left": 133,
"top": 269,
"width": 43.8876953125,
"height": 13,
"text": "客户"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUXZK9TdTA=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9QlD4="
},
"visible": false,
"font": "Arial;13;0",
"left": 32,
"top": -80,
"width": 82.3798828125,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUXZK9U76E=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9QlD4="
},
"visible": false,
"font": "Arial;13;0",
"left": 32,
"top": -80,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 128,
"top": 262,
"width": 53.8876953125,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnqUXZK9RLfM="
},
"nameLabel": {
"$ref": "AAAAAAGLnqUXZK9S/iw="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnqUXZK9TdTA="
},
"propertyLabel": {
"$ref": "AAAAAAGLnqUXZK9U76E="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnqUXZK9Vm2Q=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"visible": false,
"font": "Arial;13;0",
"left": 16,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnqUXZK9W0fk=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"visible": false,
"font": "Arial;13;0",
"left": 16,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnqUXZa9XtwA=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"visible": false,
"font": "Arial;13;0",
"left": 16,
"top": -40,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnqUXZa9YjU8=",
"_parent": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"model": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"visible": false,
"font": "Arial;13;0",
"left": 16,
"top": -40,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 128,
"top": 208,
"width": 53.8876953125,
"height": 80,
"nameCompartment": {
"$ref": "AAAAAAGLnqUXZK9QlD4="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnqUXZK9Vm2Q="
},
"operationCompartment": {
"$ref": "AAAAAAGLnqUXZK9W0fk="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnqUXZa9XtwA="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnqUXZa9YjU8="
}
},
{
"_type": "UMLUseCaseView",
"_id": "AAAAAAGLnqUs9K95T4k=",
"_parent": {
"$ref": "AAAAAAGLnqUQgK9KAKU="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnqUs9a96LVY=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUs9a972TA=",
"_parent": {
"$ref": "AAAAAAGLnqUs9a96LVY="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": -176,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUs9a98fr0=",
"_parent": {
"$ref": "AAAAAAGLnqUs9a96LVY="
},
"font": "Arial;13;1",
"left": 269,
"top": 171.5,
"width": 64,
"height": 13,
"text": "查找联系人"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUs9a99GWU=",
"_parent": {
"$ref": "AAAAAAGLnqUs9a96LVY="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": -176,
"width": 73.67724609375,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqUs9a9+Dv0=",
"_parent": {
"$ref": "AAAAAAGLnqUs9a96LVY="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": -176,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 264,
"top": 164.5,
"width": 75,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnqUs9a972TA="
},
"nameLabel": {
"$ref": "AAAAAAGLnqUs9a98fr0="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnqUs9a99GWU="
},
"propertyLabel": {
"$ref": "AAAAAAGLnqUs9a9+Dv0="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnqUs9a9/gtU=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": -88,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnqUs9a+AuDc=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": -88,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnqUs9a+Be/g=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": -88,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnqUs9a+CkZ4=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": -88,
"width": 10,
"height": 10
},
{
"_type": "UMLExtensionPointCompartmentView",
"_id": "AAAAAAGLnqUs9a+DdA0=",
"_parent": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"model": {
"$ref": "AAAAAAGLnqUs9K93zpc="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": -88,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 248,
"top": 160,
"width": 106,
"height": 35,
"nameCompartment": {
"$ref": "AAAAAAGLnqUs9a96LVY="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnqUs9a9/gtU="
},
"operationCompartment": {
"$ref": "AAAAAAGLnqUs9a+AuDc="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnqUs9a+Be/g="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnqUs9a+CkZ4="
},
"extensionPointCompartment": {
"$ref": "AAAAAAGLnqUs9a+DdA0="
}
},
{
"_type": "UMLAssociationView",
"_id": "AAAAAAGLnqUtFq+o9I0=",
"_parent": {
"$ref": "AAAAAAGLnqUQgK9KAKU="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"subViews": [
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+powQ=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"visible": false,
"font": "Arial;13;0",
"left": 215,
"top": 194,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+qP9k=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"visible": null,
"font": "Arial;13;0",
"left": 209,
"top": 180,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+r52A=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"visible": false,
"font": "Arial;13;0",
"left": 228,
"top": 221,
"height": 13,
"alpha": -1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+s+os=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+l3jM="
},
"visible": false,
"font": "Arial;13;0",
"left": 198,
"top": 203,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+tXOU=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+l3jM="
},
"visible": false,
"font": "Arial;13;0",
"left": 195,
"top": 190,
"height": 13,
"alpha": 0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+uAKk=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+l3jM="
},
"visible": false,
"font": "Arial;13;0",
"left": 206,
"top": 229,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+vLCM=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+mXnY="
},
"visible": false,
"font": "Arial;13;0",
"left": 232,
"top": 186,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+wZpo=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+mXnY="
},
"visible": false,
"font": "Arial;13;0",
"left": 224,
"top": 175,
"height": 13,
"alpha": -0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnqUtF6+xlRA=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+mXnY="
},
"visible": false,
"font": "Arial;13;0",
"left": 248,
"top": 209,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
}
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnqUtF6+yX0o=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+l3jM="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnqUtF6+zN8o=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+o9I0="
},
"model": {
"$ref": "AAAAAAGLnqUtFq+mXnY="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"head": {
"$ref": "AAAAAAGLnqUs9K95T4k="
},
"tail": {
"$ref": "AAAAAAGLnqUXZK9PlWI="
},
"lineStyle": 1,
"points": "182:234;262:195",
"showVisibility": true,
"nameLabel": {
"$ref": "AAAAAAGLnqUtF6+powQ="
},
"stereotypeLabel": {
"$ref": "AAAAAAGLnqUtF6+qP9k="
},
"propertyLabel": {
"$ref": "AAAAAAGLnqUtF6+r52A="
},
"showEndOrder": "hide",
"tailRoleNameLabel": {
"$ref": "AAAAAAGLnqUtF6+s+os="
},
"tailPropertyLabel": {
"$ref": "AAAAAAGLnqUtF6+tXOU="
},
"tailMultiplicityLabel": {
"$ref": "AAAAAAGLnqUtF6+uAKk="
},
"headRoleNameLabel": {
"$ref": "AAAAAAGLnqUtF6+vLCM="
},
"headPropertyLabel": {
"$ref": "AAAAAAGLnqUtF6+wZpo="
},
"headMultiplicityLabel": {
"$ref": "AAAAAAGLnqUtF6+xlRA="
},
"tailQualifiersCompartment": {
"$ref": "AAAAAAGLnqUtF6+yX0o="
},
"headQualifiersCompartment": {
"$ref": "AAAAAAGLnqUtF6+zN8o="
}
},
{
"_type": "UMLUseCaseSubjectView",
"_id": "AAAAAAGLnqVYtLAgpyk=",
"_parent": {
"$ref": "AAAAAAGLnqUQgK9KAKU="
},
"model": {
"$ref": "AAAAAAGLnqVYtLAe2nY="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnqVYtLAh5mg=",
"_parent": {
"$ref": "AAAAAAGLnqVYtLAgpyk="
},
"model": {
"$ref": "AAAAAAGLnqVYtLAe2nY="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnqVYtLAiPYI=",
"_parent": {
"$ref": "AAAAAAGLnqVYtLAh5mg="
},
"visible": false,
"font": "Arial;13;0",
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqVYtLAjcsE=",
"_parent": {
"$ref": "AAAAAAGLnqVYtLAh5mg="
},
"font": "Arial;13;1",
"left": 205,
"top": 135,
"width": 279,
"height": 13,
"text": "通讯录管理系统"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqVYtLAkN/o=",
"_parent": {
"$ref": "AAAAAAGLnqVYtLAh5mg="
},
"visible": false,
"font": "Arial;13;0",
"width": 73.67724609375,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnqVYtLAlM7g=",
"_parent": {
"$ref": "AAAAAAGLnqVYtLAh5mg="
},
"visible": false,
"font": "Arial;13;0",
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 200,
"top": 128,
"width": 289,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnqVYtLAiPYI="
},
"nameLabel": {
"$ref": "AAAAAAGLnqVYtLAjcsE="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnqVYtLAkN/o="
},
"propertyLabel": {
"$ref": "AAAAAAGLnqVYtLAlM7g="
}
}
],
"font": "Arial;13;0",
"left": 200,
"top": 128,
"width": 289,
"height": 305,
"nameCompartment": {
"$ref": "AAAAAAGLnqVYtLAh5mg="
}
}
]
},
{
"_type": "UMLActor",
"_id": "AAAAAAGLnqUXY69N3Is=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "客户",
"ownedElements": [
{
"_type": "UMLAssociation",
"_id": "AAAAAAGLnqUtFq+kQwI=",
"_parent": {
"$ref": "AAAAAAGLnqUXY69N3Is="
},
"end1": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnqUtFq+l3jM=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"reference": {
"$ref": "AAAAAAGLnqUXY69N3Is="
}
},
"end2": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnqUtFq+mXnY=",
"_parent": {
"$ref": "AAAAAAGLnqUtFq+kQwI="
},
"reference": {
"$ref": "AAAAAAGLnqUs9K93zpc="
}
}
}
]
},
{
"_type": "UMLUseCase",
"_id": "AAAAAAGLnqUs9K93zpc=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "查找联系人"
},
{
"_type": "UMLUseCaseSubject",
"_id": "AAAAAAGLnqVYtLAe2nY=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "通讯录管理系统"
}
]
}
]
}

File diff suppressed because one or more lines are too long

@ -1,829 +0,0 @@
{
"_type": "Project",
"_id": "AAAAAAFF+h6SjaM2Hec=",
"name": "Untitled",
"ownedElements": [
{
"_type": "UMLModel",
"_id": "AAAAAAFF+qBWK6M3Z8Y=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model",
"ownedElements": [
{
"_type": "UMLClassDiagram",
"_id": "AAAAAAFF+qBtyKM79qY=",
"_parent": {
"$ref": "AAAAAAFF+qBWK6M3Z8Y="
},
"name": "Main",
"defaultDiagram": true
}
]
},
{
"_type": "UMLModel",
"_id": "AAAAAAGLnpoiaCloISk=",
"_parent": {
"$ref": "AAAAAAFF+h6SjaM2Hec="
},
"name": "Model1",
"ownedElements": [
{
"_type": "UMLUseCaseDiagram",
"_id": "AAAAAAGLnpoiaClpUqw=",
"_parent": {
"$ref": "AAAAAAGLnpoiaCloISk="
},
"name": "UseCaseDiagram1",
"ownedViews": [
{
"_type": "UMLActorView",
"_id": "AAAAAAGLnpownilv7HY=",
"_parent": {
"$ref": "AAAAAAGLnpoiaClpUqw="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnpownilwIY8=",
"_parent": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnpownilxtTo=",
"_parent": {
"$ref": "AAAAAAGLnpownilwIY8="
},
"visible": false,
"font": "Arial;13;0",
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpownilyKyY=",
"_parent": {
"$ref": "AAAAAAGLnpownilwIY8="
},
"font": "Arial;13;1",
"left": 213,
"top": 349,
"width": 43.8876953125,
"height": 13,
"text": "客户"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpownilzdeA=",
"_parent": {
"$ref": "AAAAAAGLnpownilwIY8="
},
"visible": false,
"font": "Arial;13;0",
"width": 90.00341796875,
"height": 13,
"text": "(from Model1)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpownil0Pnw=",
"_parent": {
"$ref": "AAAAAAGLnpownilwIY8="
},
"visible": false,
"font": "Arial;13;0",
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 208,
"top": 342,
"width": 53.8876953125,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnpownilxtTo="
},
"nameLabel": {
"$ref": "AAAAAAGLnpownilyKyY="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnpownilzdeA="
},
"propertyLabel": {
"$ref": "AAAAAAGLnpownil0Pnw="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnpownil15wQ=",
"_parent": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnpownil2urk=",
"_parent": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnpownil3t0s=",
"_parent": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnpownyl4syg=",
"_parent": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"model": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 208,
"top": 288,
"width": 53.8876953125,
"height": 80,
"nameCompartment": {
"$ref": "AAAAAAGLnpownilwIY8="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnpownil15wQ="
},
"operationCompartment": {
"$ref": "AAAAAAGLnpownil2urk="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnpownil3t0s="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnpownyl4syg="
}
},
{
"_type": "UMLUseCaseSubjectView",
"_id": "AAAAAAGLnppD/SmZ5Zw=",
"_parent": {
"$ref": "AAAAAAGLnpoiaClpUqw="
},
"model": {
"$ref": "AAAAAAGLnppD/SmXVqg="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnppD/Sma1xY=",
"_parent": {
"$ref": "AAAAAAGLnppD/SmZ5Zw="
},
"model": {
"$ref": "AAAAAAGLnppD/SmXVqg="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnppD/SmbII8=",
"_parent": {
"$ref": "AAAAAAGLnppD/Sma1xY="
},
"visible": false,
"font": "Arial;13;0",
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppD/SmcR8s=",
"_parent": {
"$ref": "AAAAAAGLnppD/Sma1xY="
},
"font": "Arial;13;1",
"left": 341,
"top": 263,
"width": 109.10986328125,
"height": 13,
"text": "通讯录管理系统"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppD/Smdrk8=",
"_parent": {
"$ref": "AAAAAAGLnppD/Sma1xY="
},
"visible": false,
"font": "Arial;13;0",
"width": 80.9072265625,
"height": 13,
"text": "(from Model1)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnppD/Smex5o=",
"_parent": {
"$ref": "AAAAAAGLnppD/Sma1xY="
},
"visible": false,
"font": "Arial;13;0",
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 336,
"top": 256,
"width": 119.10986328125,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnppD/SmbII8="
},
"nameLabel": {
"$ref": "AAAAAAGLnppD/SmcR8s="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnppD/Smdrk8="
},
"propertyLabel": {
"$ref": "AAAAAAGLnppD/Smex5o="
}
}
],
"font": "Arial;13;0",
"left": 336,
"top": 256,
"width": 119.10986328125,
"height": 249,
"nameCompartment": {
"$ref": "AAAAAAGLnppD/Sma1xY="
}
},
{
"_type": "UMLUseCaseView",
"_id": "AAAAAAGLnpqWHim0pE4=",
"_parent": {
"$ref": "AAAAAAGLnpoiaClpUqw="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGLnpqWHim1rn0=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqWHim2E7s=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim1rn0="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": 16,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqWHim3pks=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim1rn0="
},
"font": "Arial;13;1",
"left": 365,
"top": 307.5,
"width": 64,
"height": 13,
"text": "编辑联系人"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqWHim45oc=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim1rn0="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": 16,
"width": 80.9072265625,
"height": 13,
"text": "(from Model1)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGLnpqWHim55Ks=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim1rn0="
},
"visible": false,
"font": "Arial;13;0",
"left": 26.224609375,
"top": 16,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 360,
"top": 300.5,
"width": 75,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGLnpqWHim2E7s="
},
"nameLabel": {
"$ref": "AAAAAAGLnpqWHim3pks="
},
"namespaceLabel": {
"$ref": "AAAAAAGLnpqWHim45oc="
},
"propertyLabel": {
"$ref": "AAAAAAGLnpqWHim55Ks="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGLnpqWHim6ykI=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": 8,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGLnpqWHim73I0=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": 8,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGLnpqWHim8MCg=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": 8,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGLnpqWHim9quE=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": 8,
"width": 10,
"height": 10
},
{
"_type": "UMLExtensionPointCompartmentView",
"_id": "AAAAAAGLnpqWHim+e4A=",
"_parent": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"model": {
"$ref": "AAAAAAGLnpqWHimyedA="
},
"visible": false,
"font": "Arial;13;0",
"left": 13.1123046875,
"top": 8,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 344,
"top": 296,
"width": 106,
"height": 35,
"nameCompartment": {
"$ref": "AAAAAAGLnpqWHim1rn0="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGLnpqWHim6ykI="
},
"operationCompartment": {
"$ref": "AAAAAAGLnpqWHim73I0="
},
"receptionCompartment": {
"$ref": "AAAAAAGLnpqWHim8MCg="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGLnpqWHim9quE="
},
"extensionPointCompartment": {
"$ref": "AAAAAAGLnpqWHim+e4A="
}
},
{
"_type": "UMLAssociationView",
"_id": "AAAAAAGLnpqWMynjtV4=",
"_parent": {
"$ref": "AAAAAAGLnpoiaClpUqw="
},
"model": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"subViews": [
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynkhM4=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"visible": false,
"font": "Arial;13;0",
"left": 300,
"top": 300,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynl2Hs=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"visible": null,
"font": "Arial;13;0",
"left": 299,
"top": 285,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynmw8M=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"visible": false,
"font": "Arial;13;0",
"left": 303,
"top": 329,
"height": 13,
"alpha": -1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynnUO8=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinggE0="
},
"visible": false,
"font": "Arial;13;0",
"left": 286,
"top": 301,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynoqbI=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinggE0="
},
"visible": false,
"font": "Arial;13;0",
"left": 287,
"top": 288,
"height": 13,
"alpha": 0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynpyYk=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinggE0="
},
"visible": false,
"font": "Arial;13;0",
"left": 284,
"top": 329,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"edgePosition": 2
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynq2nU=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinhFzo="
},
"visible": false,
"font": "Arial;13;0",
"left": 315,
"top": 299,
"height": 13,
"alpha": -0.5235987755982988,
"distance": 30,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynrWKA=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinhFzo="
},
"visible": false,
"font": "Arial;13;0",
"left": 312,
"top": 286,
"height": 13,
"alpha": -0.7853981633974483,
"distance": 40,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
}
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGLnpqWMynsUno=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinhFzo="
},
"visible": false,
"font": "Arial;13;0",
"left": 322,
"top": 326,
"height": 13,
"alpha": 0.5235987755982988,
"distance": 25,
"hostEdge": {
"$ref": "AAAAAAGLnpqWMynjtV4="
}
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnpqWMyntYQs=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinggE0="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
},
{
"_type": "UMLQualifierCompartmentView",
"_id": "AAAAAAGLnpqWMynuz58=",
"_parent": {
"$ref": "AAAAAAGLnpqWMynjtV4="
},
"model": {
"$ref": "AAAAAAGLnpqWMinhFzo="
},
"visible": false,
"font": "Arial;13;0",
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"head": {
"$ref": "AAAAAAGLnpqWHim0pE4="
},
"tail": {
"$ref": "AAAAAAGLnpownilv7HY="
},
"lineStyle": 1,
"points": "262:325;343:318",
"showVisibility": true,
"nameLabel": {
"$ref": "AAAAAAGLnpqWMynkhM4="
},
"stereotypeLabel": {
"$ref": "AAAAAAGLnpqWMynl2Hs="
},
"propertyLabel": {
"$ref": "AAAAAAGLnpqWMynmw8M="
},
"showEndOrder": "hide",
"tailRoleNameLabel": {
"$ref": "AAAAAAGLnpqWMynnUO8="
},
"tailPropertyLabel": {
"$ref": "AAAAAAGLnpqWMynoqbI="
},
"tailMultiplicityLabel": {
"$ref": "AAAAAAGLnpqWMynpyYk="
},
"headRoleNameLabel": {
"$ref": "AAAAAAGLnpqWMynq2nU="
},
"headPropertyLabel": {
"$ref": "AAAAAAGLnpqWMynrWKA="
},
"headMultiplicityLabel": {
"$ref": "AAAAAAGLnpqWMynsUno="
},
"tailQualifiersCompartment": {
"$ref": "AAAAAAGLnpqWMyntYQs="
},
"headQualifiersCompartment": {
"$ref": "AAAAAAGLnpqWMynuz58="
}
}
]
},
{
"_type": "UMLActor",
"_id": "AAAAAAGLnpownSltM0U=",
"_parent": {
"$ref": "AAAAAAGLnpoiaCloISk="
},
"name": "客户",
"ownedElements": [
{
"_type": "UMLAssociation",
"_id": "AAAAAAGLnpqWMinfDGI=",
"_parent": {
"$ref": "AAAAAAGLnpownSltM0U="
},
"end1": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnpqWMinggE0=",
"_parent": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"reference": {
"$ref": "AAAAAAGLnpownSltM0U="
}
},
"end2": {
"_type": "UMLAssociationEnd",
"_id": "AAAAAAGLnpqWMinhFzo=",
"_parent": {
"$ref": "AAAAAAGLnpqWMinfDGI="
},
"reference": {
"$ref": "AAAAAAGLnpqWHimyedA="
}
}
}
]
},
{
"_type": "UMLUseCaseSubject",
"_id": "AAAAAAGLnppD/SmXVqg=",
"_parent": {
"$ref": "AAAAAAGLnpoiaCloISk="
},
"name": "通讯录管理系统"
},
{
"_type": "UMLUseCase",
"_id": "AAAAAAGLnpqWHimyedA=",
"_parent": {
"$ref": "AAAAAAGLnpoiaCloISk="
},
"name": "编辑联系人"
}
]
}
]
}

@ -1,30 +0,0 @@
#include<iostream>
using namespace std;
int SumArray(int a[], int n, int len)
{
if (n == 0) //基线条件
{
return 0;
}
else //递归条件
{
return a[len - n] + SumArray(a, n - 1, len);
}
}
int main()
{
int a[50], n;
cout<<"请输入数组中数的个数";
cin >> n;
cout<<"请向数组输入";
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
cout <<"数组的和为:" ;
cout<<SumArray(a, n, n);
return 0;
}

@ -1,19 +0,0 @@
#include <stdio.h>
int N(int n)
{
if(n<=1)
return 1;
else
return N(n-1)*n;//关键思想
}
int main()
{
int n=0;
int ret=0;
printf("请输入你想要求阶乘的数:");
scanf("%d",&n);
ret=N(n);
printf("%d的阶乘是%d\n",n,ret);
return 0;
}

@ -1,196 +0,0 @@
#include<iostream>
using namespace std;
#include<stdlib.h>
#define OK 1
#define ERROR 0
typedef int status;
typedef int ElemType;
//用结构体定义一个单链表
typedef struct LNode
{
ElemType data; //存储链表的数据元素
struct LNode *next; //定义一个结构体指针用来指向下一个链表结点的地址
}LNode,*Linklist; //这里定义的 Linklist ==LNode *;
//---------单链表的基本操作------------
//一、单链表的初始化以及正序输入
status Initlist(Linklist &L,int n)
{
Linklist q,p;
L=(Linklist)malloc(sizeof(LNode)); //为单链表分配头结点,但注意头结点不是链表的第一个结点
L->next=NULL; //头结点的指针域指向第一个结点的地址
q=L; //让q指向链表的尾指针
cout<<"请输入单链表的元素:"<<endl;
for(int i=0;i<n;i++)
{
p=(Linklist)malloc(sizeof(LNode));
cin>>p->data;
q->next=p; //将q的指针域指向p
q=p; //让p成为新的q
}
q->next=NULL;
return OK;
}
//二、单链表的插入
status Insertlist(Linklist &L,int i,ElemType e)
{
Linklist p,s;
int j=0;
p=L;
while(p&&j<i-1)
{
p=p->next;
j++;
} //此while循环用于查找插入位置的前一个结点
if(!p||j>i-1)
return ERROR; //此if语句判断查找是否失败
s=(Linklist)malloc(sizeof(LNode)); //为插入的数据分配一个结点
if(!s)
return ERROR;
s->data=e;
s->next=p->next; //将p的指针域传给s的指针域
p->next=s; //然后将p的指针域指向s结点
return OK;
}
//三、单链表的删除
status Deletelist(Linklist &L,int i,ElemType &e)
{
Linklist p,q;
int j=0;
p=L;
while(p&&j<i-1)
{
p=p->next;
j++;
}
if(!(p->next)||j>i-1) //当如果p的下一个结点为空时则删除错误
return ERROR;
q=p->next; //将要删除的结点用q指向
e=q->data; //用e返回删除结点的元素
p->next=q->next; //将q的指针域传给p;
free(q);
return OK;
}
//四、单链表的查找
status GetElem(Linklist L,int e,int &i)
{
Linklist p=L->next;
if(p==NULL)
return ERROR;
i=1;
while(p)
{
if(p->data==e)
{
return i; //如果在链表中找到该元素,则输出其位序
}
p=p->next; //否则继续下移查找
i++;
}
}
//五、单链表的输出
status Printf(Linklist L)
{
Linklist p;
p=L->next; //让p表示单链表的第一个结点
while(p)
{
cout<<p->data<<" ";
p=p->next; //输出第一个结点数据后p后移一位
}
cout<<endl;
return OK;
}
//单链表的逆置(头插法)
status Reservelist(Linklist &L)
{
Linklist p,q; //定义两个指针p是当头结点与第一个结点断开时而设立的指针指向第一个结点
p=L->next; //而q的作用也是与p类似。
L->next=NULL; //将头结点与第一个结点的链接断开
while(p)
{
q=p->next; //q是为了指向剩余未逆置的元素地址
p->next=L->next;
L->next=p; //以上两条语句是将第一个结点逆置插入
p=q; //然后将q赋给p;
}
return OK;
}
//单链表的清空
status Clearlist(Linklist &L)
{
Linklist p,q;
p=L->next;
while(p)
{
p=q;
q=p->next; //设立一个q指向剩下的结点之后一个一个清空。
free(p);
}
L->next=NULL;
cout<<"此链表已清空"<<endl;
return OK;
}
//单链表的销毁
status Destroylist(Linklist &L)
{
Linklist p;
while(L)
{
p=L;
L=L->next;
free(p);
}
cout<<"此链表已销毁。"<<endl;
return OK;
}
int main()
{
Linklist L;
int n,i;
ElemType e;
cout<<"请输入单链表的长度:"<<endl;
cin>>n;
Initlist(L,n);
cout<<"单链表为:"<<endl;
Printf(L);
cout<<"请输入要插入第几个结点、插入的元素:"<<endl;
cin>>i>>e;
Insertlist(L,i,e);
cout<<"插入元素后单链表为:"<<endl;
Printf(L);
cout<<"请输入要删除的结点位置:"<<endl;
cin>>i;
Deletelist(L,i,e);
cout<<"删除的元素为:"<<e<<endl;
cout<<"删除元素后单链表为:"<<endl;
Printf(L);
cout<<"请输入要查找的结点元素:";
cin>>e;
GetElem(L,e,i);
cout<<e<<"对应的结点位置为:"<<i<<endl;
cout<<endl;
cout<<"单链表逆置后输出为:"<<endl;
Reservelist(L);
Printf(L);
Clearlist(L);
Destroylist(L);
return OK;
}
Loading…
Cancel
Save