diff --git a/2023-10-23/.vs/2023-10-23/FileContentIndex/a020f529-fbc6-4896-81c7-f1c8c58a89e4.vsidx b/2023-10-23/.vs/2023-10-23/FileContentIndex/a020f529-fbc6-4896-81c7-f1c8c58a89e4.vsidx
new file mode 100644
index 0000000..fdcc012
Binary files /dev/null and b/2023-10-23/.vs/2023-10-23/FileContentIndex/a020f529-fbc6-4896-81c7-f1c8c58a89e4.vsidx differ
diff --git a/2023-10-23/.vs/2023-10-23/FileContentIndex/b79fa703-fc4f-42c4-a75c-1150044685f2.vsidx b/2023-10-23/.vs/2023-10-23/FileContentIndex/b79fa703-fc4f-42c4-a75c-1150044685f2.vsidx
new file mode 100644
index 0000000..95971ee
Binary files /dev/null and b/2023-10-23/.vs/2023-10-23/FileContentIndex/b79fa703-fc4f-42c4-a75c-1150044685f2.vsidx differ
diff --git a/2023-10-23/.vs/2023-10-23/v17/.suo b/2023-10-23/.vs/2023-10-23/v17/.suo
new file mode 100644
index 0000000..d2b10aa
Binary files /dev/null and b/2023-10-23/.vs/2023-10-23/v17/.suo differ
diff --git a/2023-10-23/.vs/2023-10-23/v17/Browse.VC.db b/2023-10-23/.vs/2023-10-23/v17/Browse.VC.db
new file mode 100644
index 0000000..2aa45ad
Binary files /dev/null and b/2023-10-23/.vs/2023-10-23/v17/Browse.VC.db differ
diff --git a/2023-10-23/.vs/2023-10-23/v17/ipch/AutoPCH/c28d28c9aafeb402/源.ipch b/2023-10-23/.vs/2023-10-23/v17/ipch/AutoPCH/c28d28c9aafeb402/源.ipch
new file mode 100644
index 0000000..0f7f558
Binary files /dev/null and b/2023-10-23/.vs/2023-10-23/v17/ipch/AutoPCH/c28d28c9aafeb402/源.ipch differ
diff --git a/2023-10-23/2023-10-23.sln b/2023-10-23/2023-10-23.sln
new file mode 100644
index 0000000..3b8a07b
--- /dev/null
+++ b/2023-10-23/2023-10-23.sln
@@ -0,0 +1,31 @@
+
+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
diff --git a/2023-10-23/2023-10-23.vcxproj b/2023-10-23/2023-10-23.vcxproj
new file mode 100644
index 0000000..665f59c
--- /dev/null
+++ b/2023-10-23/2023-10-23.vcxproj
@@ -0,0 +1,135 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {dde1957c-ab2a-4b80-9928-5904dad85fe3}
+ My20231023
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2023-10-23/2023-10-23.vcxproj.filters b/2023-10-23/2023-10-23.vcxproj.filters
new file mode 100644
index 0000000..5324d35
--- /dev/null
+++ b/2023-10-23/2023-10-23.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ 源文件
+
+
+
\ No newline at end of file
diff --git a/2023-10-23/2023-10-23.vcxproj.user b/2023-10-23/2023-10-23.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/2023-10-23/2023-10-23.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/2023-10-23/x64/Debug/2023-10-23.exe b/2023-10-23/x64/Debug/2023-10-23.exe
new file mode 100644
index 0000000..cc59507
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.exe differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.exe.recipe b/2023-10-23/x64/Debug/2023-10-23.exe.recipe
new file mode 100644
index 0000000..b75fb45
--- /dev/null
+++ b/2023-10-23/x64/Debug/2023-10-23.exe.recipe
@@ -0,0 +1,11 @@
+
+
+
+
+ D:\vs代码\2023-10-23\x64\Debug\2023-10-23.exe
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2023-10-23/x64/Debug/2023-10-23.ilk b/2023-10-23/x64/Debug/2023-10-23.ilk
new file mode 100644
index 0000000..83e5207
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.ilk differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.log b/2023-10-23/x64/Debug/2023-10-23.log
new file mode 100644
index 0000000..8309953
--- /dev/null
+++ b/2023-10-23/x64/Debug/2023-10-23.log
@@ -0,0 +1,5 @@
+ 源.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
diff --git a/2023-10-23/x64/Debug/2023-10-23.pdb b/2023-10-23/x64/Debug/2023-10-23.pdb
new file mode 100644
index 0000000..1512efe
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.pdb differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/2023-10-23.lastbuildstate b/2023-10-23/x64/Debug/2023-10-23.tlog/2023-10-23.lastbuildstate
new file mode 100644
index 0000000..72ebeb9
--- /dev/null
+++ b/2023-10-23/x64/Debug/2023-10-23.tlog/2023-10-23.lastbuildstate
@@ -0,0 +1,2 @@
+PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.37.32822:TargetPlatformVersion=10.0.22621.0:
+Debug|x64|D:\vs代码\2023-10-23\|
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/CL.command.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.command.1.tlog
new file mode 100644
index 0000000..67831ab
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.command.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/CL.read.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.read.1.tlog
new file mode 100644
index 0000000..bacf116
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.read.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/CL.write.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.write.1.tlog
new file mode 100644
index 0000000..2944a01
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/CL.write.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/Cl.items.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/Cl.items.tlog
new file mode 100644
index 0000000..cb52d91
--- /dev/null
+++ b/2023-10-23/x64/Debug/2023-10-23.tlog/Cl.items.tlog
@@ -0,0 +1 @@
+D:\vs代码\2023-10-23\源.cpp;D:\vs代码\2023-10-23\x64\Debug\源.obj
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/link.command.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/link.command.1.tlog
new file mode 100644
index 0000000..773e4a3
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/link.command.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/link.read.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/link.read.1.tlog
new file mode 100644
index 0000000..ffb3225
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/link.read.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.tlog/link.write.1.tlog b/2023-10-23/x64/Debug/2023-10-23.tlog/link.write.1.tlog
new file mode 100644
index 0000000..deefd18
Binary files /dev/null and b/2023-10-23/x64/Debug/2023-10-23.tlog/link.write.1.tlog differ
diff --git a/2023-10-23/x64/Debug/2023-10-23.vcxproj.FileListAbsolute.txt b/2023-10-23/x64/Debug/2023-10-23.vcxproj.FileListAbsolute.txt
new file mode 100644
index 0000000..c30ac32
--- /dev/null
+++ b/2023-10-23/x64/Debug/2023-10-23.vcxproj.FileListAbsolute.txt
@@ -0,0 +1 @@
+D:\vs代码\2023-10-23\x64\Debug\2023-10-23.exe
diff --git a/2023-10-23/x64/Debug/vc143.idb b/2023-10-23/x64/Debug/vc143.idb
new file mode 100644
index 0000000..89d18f3
Binary files /dev/null and b/2023-10-23/x64/Debug/vc143.idb differ
diff --git a/2023-10-23/x64/Debug/vc143.pdb b/2023-10-23/x64/Debug/vc143.pdb
new file mode 100644
index 0000000..0b01453
Binary files /dev/null and b/2023-10-23/x64/Debug/vc143.pdb differ
diff --git a/2023-10-23/x64/Debug/源.obj b/2023-10-23/x64/Debug/源.obj
new file mode 100644
index 0000000..9f8f8f1
Binary files /dev/null and b/2023-10-23/x64/Debug/源.obj differ
diff --git a/2023-10-23/源.cpp b/2023-10-23/源.cpp
new file mode 100644
index 0000000..5db8a99
--- /dev/null
+++ b/2023-10-23/源.cpp
@@ -0,0 +1,247 @@
+#include
+#include
+#include
+#include
+#include
+#include
+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);
+ }
+ // жDzƽ
+ 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
+ //һŶڵ㣬ǸĽڵ
+ //ַ𰸣һֱӵݹҪĴ𰸣
+ // һDzò鼯
+ //ȲõݹķʽĽڵ㣬ٲò鼯IJ
+ 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;
+ }
+ queuequ;
+ 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_mapfather_map;
+
+};
+
+ int re = -1;
+ Union un;
+void my_union_lowestCommonAncestor(TreeNode* root, int p, int q) {
+ if (re != -1) {
+ return;
+ }
+ if (root != nullptr) {
+ //ÿֻڵݹ֮ͽIJ
+ //ݹ֮ͽ͵ǰڵϲ
+ 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(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;
+}
\ No newline at end of file
diff --git a/3f4f55f4f01a7e04.jpg b/3f4f55f4f01a7e04.jpg
deleted file mode 100644
index a4792e6..0000000
Binary files a/3f4f55f4f01a7e04.jpg and /dev/null differ
diff --git a/R-C.jpg b/R-C.jpg
deleted file mode 100644
index 7605667..0000000
Binary files a/R-C.jpg and /dev/null differ
diff --git a/id_cache.db-shm b/id_cache.db-shm
deleted file mode 100644
index d09d098..0000000
Binary files a/id_cache.db-shm and /dev/null differ
diff --git a/sfa.png b/sfa.png
deleted file mode 100644
index 900c023..0000000
Binary files a/sfa.png and /dev/null differ
diff --git a/匆匆样式.JPG b/匆匆样式.JPG
deleted file mode 100644
index 8989418..0000000
Binary files a/匆匆样式.JPG and /dev/null differ
diff --git a/汉诺塔.cpp b/汉诺塔.cpp
new file mode 100644
index 0000000..0e71d17
--- /dev/null
+++ b/汉诺塔.cpp
@@ -0,0 +1,26 @@
+#include
+using namespace std;
+
+void HN(int n, char A, char B, char C)
+{
+ if (n == 1)
+ { //ʼλֻʣһʱֱƶĿĵأڶһƶC
+ cout << A << "->" << C << endl;
+ return;
+ }
+ HN(n - 1, A, C, B); //AӣתΪCƶB ǵһƶB
+ cout << A << "->" << C << endl;
+ HN(n - 1, B, A, C); //BӣתΪAƶCBϵƶC
+ return;
+}
+
+int main()
+{
+ int n;
+ cout << "Aм˳źõĵӣ";
+ cin >> n;
+ cout << "ƶ˳\n";
+ HN(n, 'A', 'B', 'C');
+ return 0;
+}
+
diff --git a/添加联系人.mdj b/添加联系人.mdj
new file mode 100644
index 0000000..122d3fe
--- /dev/null
+++ b/添加联系人.mdj
@@ -0,0 +1 @@
+{"_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":"AAAAAAGLnprKPyZv8KA=","_parent":{"$ref":"AAAAAAFF+qBWK6M3Z8Y="},"name":"UseCaseDiagram1","ownedViews":[{"_type":"UMLUseCaseSubjectView","_id":"AAAAAAGLnprVqyZ0iM0=","_parent":{"$ref":"AAAAAAGLnprKPyZv8KA="},"model":{"$ref":"AAAAAAGLnprVqyZyQ28="},"subViews":[{"_type":"UMLNameCompartmentView","_id":"AAAAAAGLnprVrCZ1ulE=","_parent":{"$ref":"AAAAAAGLnprVqyZ0iM0="},"model":{"$ref":"AAAAAAGLnprVqyZyQ28="},"subViews":[{"_type":"LabelView","_id":"AAAAAAGLnprVrCZ23rc=","_parent":{"$ref":"AAAAAAGLnprVrCZ1ulE="},"visible":false,"font":"Arial;13;0","left":-96,"top":48,"height":13},{"_type":"LabelView","_id":"AAAAAAGLnprVrCZ3j+8=","_parent":{"$ref":"AAAAAAGLnprVrCZ1ulE="},"font":"Arial;13;1","left":285,"top":143,"width":183,"height":13,"text":"通讯录管理系统客户"},{"_type":"LabelView","_id":"AAAAAAGLnprVrCZ4Rhs=","_parent":{"$ref":"AAAAAAGLnprVrCZ1ulE="},"visible":false,"font":"Arial;13;0","left":-96,"top":48,"width":82.3798828125,"height":13,"text":"(from Model)"},{"_type":"LabelView","_id":"AAAAAAGLnprVrCZ5ooM=","_parent":{"$ref":"AAAAAAGLnprVrCZ1ulE="},"visible":false,"font":"Arial;13;0","left":-96,"top":48,"height":13,"horizontalAlignment":1}],"font":"Arial;13;0","left":280,"top":136,"width":193,"height":25,"stereotypeLabel":{"$ref":"AAAAAAGLnprVrCZ23rc="},"nameLabel":{"$ref":"AAAAAAGLnprVrCZ3j+8="},"namespaceLabel":{"$ref":"AAAAAAGLnprVrCZ4Rhs="},"propertyLabel":{"$ref":"AAAAAAGLnprVrCZ5ooM="}}],"font":"Arial;13;0","left":280,"top":136,"width":192,"height":360,"nameCompartment":{"$ref":"AAAAAAGLnprVrCZ1ulE="}},{"_type":"UMLActorView","_id":"AAAAAAGLnpsR8yaPLzM=","_parent":{"$ref":"AAAAAAGLnprKPyZv8KA="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"subViews":[{"_type":"UMLNameCompartmentView","_id":"AAAAAAGLnpsR8yaQk30=","_parent":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"subViews":[{"_type":"LabelView","_id":"AAAAAAGLnpsR8yaRe18=","_parent":{"$ref":"AAAAAAGLnpsR8yaQk30="},"visible":false,"font":"Arial;13;0","height":13},{"_type":"LabelView","_id":"AAAAAAGLnpsR8yaSqKA=","_parent":{"$ref":"AAAAAAGLnpsR8yaQk30="},"font":"Arial;13;1","left":205,"top":246,"width":42.17724609375,"height":13,"text":"客户"},{"_type":"LabelView","_id":"AAAAAAGLnpsR8yaT2GI=","_parent":{"$ref":"AAAAAAGLnpsR8yaQk30="},"visible":false,"font":"Arial;13;0","width":73.67724609375,"height":13,"text":"(from Model)"},{"_type":"LabelView","_id":"AAAAAAGLnpsR8yaUcio=","_parent":{"$ref":"AAAAAAGLnpsR8yaQk30="},"visible":false,"font":"Arial;13;0","height":13,"horizontalAlignment":1}],"font":"Arial;13;0","left":200,"top":239,"width":52.17724609375,"height":25,"stereotypeLabel":{"$ref":"AAAAAAGLnpsR8yaRe18="},"nameLabel":{"$ref":"AAAAAAGLnpsR8yaSqKA="},"namespaceLabel":{"$ref":"AAAAAAGLnpsR8yaT2GI="},"propertyLabel":{"$ref":"AAAAAAGLnpsR8yaUcio="}},{"_type":"UMLAttributeCompartmentView","_id":"AAAAAAGLnpsR8yaVlbU=","_parent":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLOperationCompartmentView","_id":"AAAAAAGLnpsR8yaW+J0=","_parent":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLReceptionCompartmentView","_id":"AAAAAAGLnpsR8yaXNOM=","_parent":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLTemplateParameterCompartmentView","_id":"AAAAAAGLnpsR8yaYldw=","_parent":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"model":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"visible":false,"font":"Arial;13;0","width":10,"height":10}],"font":"Arial;13;0","containerChangeable":true,"left":200,"top":184,"width":51.17724609375,"height":80,"nameCompartment":{"$ref":"AAAAAAGLnpsR8yaQk30="},"suppressAttributes":true,"suppressOperations":true,"attributeCompartment":{"$ref":"AAAAAAGLnpsR8yaVlbU="},"operationCompartment":{"$ref":"AAAAAAGLnpsR8yaW+J0="},"receptionCompartment":{"$ref":"AAAAAAGLnpsR8yaXNOM="},"templateParameterCompartment":{"$ref":"AAAAAAGLnpsR8yaYldw="}},{"_type":"UMLUseCaseView","_id":"AAAAAAGLnpsjUya5NLw=","_parent":{"$ref":"AAAAAAGLnprKPyZv8KA="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"subViews":[{"_type":"UMLNameCompartmentView","_id":"AAAAAAGLnpsjUya6BRk=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"subViews":[{"_type":"LabelView","_id":"AAAAAAGLnpsjUya7XMk=","_parent":{"$ref":"AAAAAAGLnpsjUya6BRk="},"visible":false,"font":"Arial;13;0","height":13},{"_type":"LabelView","_id":"AAAAAAGLnpsjUya8UTQ=","_parent":{"$ref":"AAAAAAGLnpsjUya6BRk="},"font":"Arial;13;1","left":342.17724609375,"top":196,"width":64,"height":13,"text":"添加联系人"},{"_type":"LabelView","_id":"AAAAAAGLnpsjUya95zI=","_parent":{"$ref":"AAAAAAGLnpsjUya6BRk="},"visible":false,"font":"Arial;13;0","width":73.67724609375,"height":13,"text":"(from Model)"},{"_type":"LabelView","_id":"AAAAAAGLnpsjUya+rNw=","_parent":{"$ref":"AAAAAAGLnpsjUya6BRk="},"visible":false,"font":"Arial;13;0","height":13,"horizontalAlignment":1}],"font":"Arial;13;0","left":337.17724609375,"top":189,"width":75,"height":25,"stereotypeLabel":{"$ref":"AAAAAAGLnpsjUya7XMk="},"nameLabel":{"$ref":"AAAAAAGLnpsjUya8UTQ="},"namespaceLabel":{"$ref":"AAAAAAGLnpsjUya95zI="},"propertyLabel":{"$ref":"AAAAAAGLnpsjUya+rNw="}},{"_type":"UMLAttributeCompartmentView","_id":"AAAAAAGLnpsjUya/f/Y=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLOperationCompartmentView","_id":"AAAAAAGLnpsjUybACI0=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLReceptionCompartmentView","_id":"AAAAAAGLnpsjUybBjeo=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLTemplateParameterCompartmentView","_id":"AAAAAAGLnpsjUybCqsg=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLExtensionPointCompartmentView","_id":"AAAAAAGLnpsjUybD9l4=","_parent":{"$ref":"AAAAAAGLnpsjUya5NLw="},"model":{"$ref":"AAAAAAGLnpsjUya3XYw="},"visible":false,"font":"Arial;13;0","width":10,"height":10}],"font":"Arial;13;0","containerChangeable":true,"left":321.17724609375,"top":184,"width":106,"height":35,"nameCompartment":{"$ref":"AAAAAAGLnpsjUya6BRk="},"suppressAttributes":true,"suppressOperations":true,"attributeCompartment":{"$ref":"AAAAAAGLnpsjUya/f/Y="},"operationCompartment":{"$ref":"AAAAAAGLnpsjUybACI0="},"receptionCompartment":{"$ref":"AAAAAAGLnpsjUybBjeo="},"templateParameterCompartment":{"$ref":"AAAAAAGLnpsjUybCqsg="},"extensionPointCompartment":{"$ref":"AAAAAAGLnpsjUybD9l4="}},{"_type":"UMLAssociationView","_id":"AAAAAAGLnpsjaCboXaM=","_parent":{"$ref":"AAAAAAGLnprKPyZv8KA="},"model":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"subViews":[{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbpFIw=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"visible":false,"font":"Arial;13;0","left":283,"top":193,"height":13,"alpha":1.5707963267948966,"distance":15,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":1},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbqY08=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"visible":null,"font":"Arial;13;0","left":281,"top":178,"height":13,"alpha":1.5707963267948966,"distance":30,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":1},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbrnGA=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"visible":false,"font":"Arial;13;0","left":288,"top":222,"height":13,"alpha":-1.5707963267948966,"distance":15,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":1},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbsiL0=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZyblZN8="},"visible":false,"font":"Arial;13;0","left":275,"top":195,"height":13,"alpha":0.5235987755982988,"distance":30,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":2},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbtEA8=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZyblZN8="},"visible":false,"font":"Arial;13;0","left":275,"top":181,"height":13,"alpha":0.7853981633974483,"distance":40,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":2},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbuwqY=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZyblZN8="},"visible":false,"font":"Arial;13;0","left":275,"top":222,"height":13,"alpha":-0.5235987755982988,"distance":25,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="},"edgePosition":2},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbvPEg=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybma80="},"visible":false,"font":"Arial;13;0","left":291,"top":192,"height":13,"alpha":-0.5235987755982988,"distance":30,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="}},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbwkRI=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybma80="},"visible":false,"font":"Arial;13;0","left":287,"top":179,"height":13,"alpha":-0.7853981633974483,"distance":40,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="}},{"_type":"EdgeLabelView","_id":"AAAAAAGLnpsjaCbxznI=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybma80="},"visible":false,"font":"Arial;13;0","left":300,"top":218,"height":13,"alpha":0.5235987755982988,"distance":25,"hostEdge":{"$ref":"AAAAAAGLnpsjaCboXaM="}},{"_type":"UMLQualifierCompartmentView","_id":"AAAAAAGLnpsjaCbyfC8=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZyblZN8="},"visible":false,"font":"Arial;13;0","width":10,"height":10},{"_type":"UMLQualifierCompartmentView","_id":"AAAAAAGLnpsjaCbzZWM=","_parent":{"$ref":"AAAAAAGLnpsjaCboXaM="},"model":{"$ref":"AAAAAAGLnpsjZybma80="},"visible":false,"font":"Arial;13;0","width":10,"height":10}],"font":"Arial;13;0","head":{"$ref":"AAAAAAGLnpsjUya5NLw="},"tail":{"$ref":"AAAAAAGLnpsR8yaPLzM="},"lineStyle":1,"points":"252:220;320:209","showVisibility":true,"nameLabel":{"$ref":"AAAAAAGLnpsjaCbpFIw="},"stereotypeLabel":{"$ref":"AAAAAAGLnpsjaCbqY08="},"propertyLabel":{"$ref":"AAAAAAGLnpsjaCbrnGA="},"showEndOrder":"hide","tailRoleNameLabel":{"$ref":"AAAAAAGLnpsjaCbsiL0="},"tailPropertyLabel":{"$ref":"AAAAAAGLnpsjaCbtEA8="},"tailMultiplicityLabel":{"$ref":"AAAAAAGLnpsjaCbuwqY="},"headRoleNameLabel":{"$ref":"AAAAAAGLnpsjaCbvPEg="},"headPropertyLabel":{"$ref":"AAAAAAGLnpsjaCbwkRI="},"headMultiplicityLabel":{"$ref":"AAAAAAGLnpsjaCbxznI="},"tailQualifiersCompartment":{"$ref":"AAAAAAGLnpsjaCbyfC8="},"headQualifiersCompartment":{"$ref":"AAAAAAGLnpsjaCbzZWM="}}]},{"_type":"UMLUseCaseSubject","_id":"AAAAAAGLnprVqyZyQ28=","_parent":{"$ref":"AAAAAAFF+qBWK6M3Z8Y="},"name":"通讯录管理系统客户"},{"_type":"UMLActor","_id":"AAAAAAGLnpsR8yaNyP0=","_parent":{"$ref":"AAAAAAFF+qBWK6M3Z8Y="},"name":"客户","ownedElements":[{"_type":"UMLAssociation","_id":"AAAAAAGLnpsjZybkVDQ=","_parent":{"$ref":"AAAAAAGLnpsR8yaNyP0="},"end1":{"_type":"UMLAssociationEnd","_id":"AAAAAAGLnpsjZyblZN8=","_parent":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"reference":{"$ref":"AAAAAAGLnpsR8yaNyP0="}},"end2":{"_type":"UMLAssociationEnd","_id":"AAAAAAGLnpsjZybma80=","_parent":{"$ref":"AAAAAAGLnpsjZybkVDQ="},"reference":{"$ref":"AAAAAAGLnpsjUya3XYw="}}}]},{"_type":"UMLUseCase","_id":"AAAAAAGLnpsjUya3XYw=","_parent":{"$ref":"AAAAAAFF+qBWK6M3Z8Y="},"name":"添加联系人"}]}]}
\ No newline at end of file
diff --git a/编辑联系人.mdj b/编辑联系人.mdj
new file mode 100644
index 0000000..fc2eeae
--- /dev/null
+++ b/编辑联系人.mdj
@@ -0,0 +1,829 @@
+{
+ "_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": "编辑联系人"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/递归算法计算 n!.cpp b/递归算法计算 n!.cpp
new file mode 100644
index 0000000..fcca738
--- /dev/null
+++ b/递归算法计算 n!.cpp
@@ -0,0 +1,19 @@
+#include
+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;
+
+}