From decad4ad293ad21adaec611096ac4096c1be0551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=BB=BA=E4=BC=9F?= Date: Wed, 12 Feb 2020 02:12:35 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20MFSet:=E4=BF=AE=E5=A4=8D=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E7=9B=B8=E5=90=8C=E5=AD=90=E9=9B=86=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLion/CourseBook/0608_MFSet/MFSet.c | 16 ++++++++++++++++ Dev-C++/CourseBook/0608_MFSet/MFSet.cpp | 20 ++++++++++++++++++-- VisualC++/CourseBook/0608_MFSet/MFSet.c | 16 ++++++++++++++++ VisualC++/CourseBook/CourseBook.sdf | Bin 4476928 -> 4476928 bytes VisualC++/CourseBook/CourseBook.suo | Bin 160768 -> 160768 bytes 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/CLion/CourseBook/0608_MFSet/MFSet.c b/CLion/CourseBook/0608_MFSet/MFSet.c index 8ddb7ec..c947168 100644 --- a/CLion/CourseBook/0608_MFSet/MFSet.c +++ b/CLion/CourseBook/0608_MFSet/MFSet.c @@ -80,6 +80,14 @@ Status merge_mfset(MFSet* S, int i, int j) { return ERROR; } + /* + * 相同的子集无需合并,直接返回 + * 注:教材中没有此步,需要修正 + */ + if(i == j) { + return OK; + } + S->nodes[i].parent = j; return OK; @@ -122,6 +130,14 @@ Status mix_mfset(MFSet* S, int i, int j) { return ERROR; } + /* + * 相同的子集无需合并,直接返回 + * 注:教材中没有此步,需要修正 + */ + if(i == j) { + return OK; + } + // Si所含成员数比sj少(根结点的parent域是负数,所以元素少的其值反而大) if(S->nodes[i].parent > S->nodes[j].parent) { S->nodes[j].parent += S->nodes[i].parent; diff --git a/Dev-C++/CourseBook/0608_MFSet/MFSet.cpp b/Dev-C++/CourseBook/0608_MFSet/MFSet.cpp index 42822d8..e2dd229 100644 --- a/Dev-C++/CourseBook/0608_MFSet/MFSet.cpp +++ b/Dev-C++/CourseBook/0608_MFSet/MFSet.cpp @@ -79,7 +79,15 @@ Status merge_mfset(MFSet* S, int i, int j) { if(i < 1 || i > S->n || j < 1 || j > S->n) { return ERROR; } - + + /* + * ͬӼϲֱӷ + * ע̲ûд˲Ҫ + */ + if(i == j) { + return OK; + } + S->nodes[i].parent = j; return OK; @@ -121,7 +129,15 @@ Status mix_mfset(MFSet* S, int i, int j) { if(i < 1 || i > S->n || j < 1 || j > S->n) { return ERROR; } - + + /* + * ͬӼϲֱӷ + * ע̲ûд˲Ҫ + */ + if(i == j) { + return OK; + } + // SiԱsj٣parentǸԪٵֵ if(S->nodes[i].parent > S->nodes[j].parent) { S->nodes[j].parent += S->nodes[i].parent; diff --git a/VisualC++/CourseBook/0608_MFSet/MFSet.c b/VisualC++/CourseBook/0608_MFSet/MFSet.c index 42822d8..15cdaa6 100644 --- a/VisualC++/CourseBook/0608_MFSet/MFSet.c +++ b/VisualC++/CourseBook/0608_MFSet/MFSet.c @@ -80,6 +80,14 @@ Status merge_mfset(MFSet* S, int i, int j) { return ERROR; } + /* + * ͬӼϲֱӷ + * ע̲ûд˲Ҫ + */ + if(i == j) { + return OK; + } + S->nodes[i].parent = j; return OK; @@ -122,6 +130,14 @@ Status mix_mfset(MFSet* S, int i, int j) { return ERROR; } + /* + * ͬӼϲֱӷ + * ע̲ûд˲Ҫ + */ + if(i == j) { + return OK; + } + // SiԱsj٣parentǸԪٵֵ if(S->nodes[i].parent > S->nodes[j].parent) { S->nodes[j].parent += S->nodes[i].parent; diff --git a/VisualC++/CourseBook/CourseBook.sdf b/VisualC++/CourseBook/CourseBook.sdf index ddc5ba70f84e08fc879ea8da37d6e6d0d31be9ca..b01738311ca7b16e94a6799a0be4b303d246e715 100644 GIT binary patch delta 3145 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 diff --git a/VisualC++/CourseBook/CourseBook.suo b/VisualC++/CourseBook/CourseBook.suo index 6299f65f268f735697ed32a5de6a993e73134222..2e378534cfdb4cbd5252cd77ef9b5ee470e339d9 100644 GIT binary patch delta 4118 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 RCPZV`3Z_>JpJa^@{{u_=zSIB! delta 4219 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 bzuw`NJM~z;iV-P>*B9ZlNvc}KI_Liz6H(*7