From 2ea439c0bce0275dabefa2b6ed349f4829e5340f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=B7=E5=BB=BA=E4=BC=9F?= Date: Sun, 20 Oct 2019 19:06:37 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20=E7=BA=BF=E6=80=A7=E8=A1=A8?= =?UTF-8?q?=E7=AB=A0=E8=8A=82=E7=9A=84=E6=BA=90=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLion/CMakeLists.txt | 8 + CLion/CourseBook/0201_SqList/CMakeLists.txt | 7 + CLion/CourseBook/0201_SqList/SqList-main.c | 170 +++++ CLion/CourseBook/0201_SqList/SqList.c | 337 ++++++++++ CLion/CourseBook/0201_SqList/SqList.h | 149 +++++ CLion/CourseBook/0202_Union/CMakeLists.txt | 7 + CLion/CourseBook/0202_Union/SqList.c | 172 +++++ CLion/CourseBook/0202_Union/SqList.h | 93 +++ CLion/CourseBook/0202_Union/Union-main.c | 43 ++ CLion/CourseBook/0202_Union/Union.c | 45 ++ CLion/CourseBook/0202_Union/Union.h | 33 + .../0203_MergeSqList/CMakeLists.txt | 7 + .../0203_MergeSqList/MergeSqList-main.c | 49 ++ .../CourseBook/0203_MergeSqList/MergeSqList.c | 104 +++ .../CourseBook/0203_MergeSqList/MergeSqList.h | 35 + CLion/CourseBook/0203_MergeSqList/SqList.c | 129 ++++ CLion/CourseBook/0203_MergeSqList/SqList.h | 80 +++ CLion/CourseBook/0204_LinkList/CMakeLists.txt | 12 + .../CourseBook/0204_LinkList/LinkList-main.c | 170 +++++ CLion/CourseBook/0204_LinkList/LinkList.c | 488 ++++++++++++++ CLion/CourseBook/0204_LinkList/LinkList.h | 168 +++++ .../0204_LinkList/TestData_Head.txt | 1 + .../0204_LinkList/TestData_Tail.txt | 1 + .../CourseBook/0205_MergeList/CMakeLists.txt | 12 + CLion/CourseBook/0205_MergeList/LinkList.c | 138 ++++ CLion/CourseBook/0205_MergeList/LinkList.h | 61 ++ .../0205_MergeList/MergeList-main.c | 31 + CLion/CourseBook/0205_MergeList/MergeList.c | 45 ++ CLion/CourseBook/0205_MergeList/MergeList.h | 24 + .../0205_MergeList/TestData_Head.txt | 1 + .../0205_MergeList/TestData_Tail.txt | 1 + .../CourseBook/0206_SLinkList/CMakeLists.txt | 7 + .../0206_SLinkList/SLinkList-main.c | 152 +++++ CLion/CourseBook/0206_SLinkList/SLinkList.c | 470 +++++++++++++ CLion/CourseBook/0206_SLinkList/SLinkList.h | 208 ++++++ .../CourseBook/0207_Difference/CMakeLists.txt | 12 + .../0207_Difference/Difference-main.c | 19 + CLion/CourseBook/0207_Difference/Difference.c | 95 +++ CLion/CourseBook/0207_Difference/Difference.h | 28 + CLion/CourseBook/0207_Difference/SLinkList.c | 116 ++++ CLion/CourseBook/0207_Difference/SLinkList.h | 89 +++ CLion/CourseBook/0207_Difference/TestData.txt | 4 + .../CourseBook/0208_DuLinkList/CMakeLists.txt | 7 + .../0208_DuLinkList/DuLinkList-main.c | 149 +++++ CLion/CourseBook/0208_DuLinkList/DuLinkList.c | 402 +++++++++++ CLion/CourseBook/0208_DuLinkList/DuLinkList.h | 153 +++++ .../CourseBook/0209_ELinkList/CMakeLists.txt | 7 + .../0209_ELinkList/ELinkList-main.c | 224 +++++++ CLion/CourseBook/0209_ELinkList/ELinkList.c | 630 ++++++++++++++++++ CLion/CourseBook/0209_ELinkList/ELinkList.h | 253 +++++++ .../CourseBook/0210_MergeEList/CMakeLists.txt | 12 + CLion/CourseBook/0210_MergeEList/ELinkList.c | 324 +++++++++ CLion/CourseBook/0210_MergeEList/ELinkList.h | 155 +++++ .../0210_MergeEList/MergeEList-main.c | 71 ++ CLion/CourseBook/0210_MergeEList/MergeEList.c | 75 +++ CLion/CourseBook/0210_MergeEList/MergeEList.h | 36 + .../0210_MergeEList/TestData_La.txt | 2 + .../0210_MergeEList/TestData_Lb.txt | 2 + .../CourseBook/0211_Polynomial/CMakeLists.txt | 12 + CLion/CourseBook/0211_Polynomial/ELinkList.c | 338 ++++++++++ CLion/CourseBook/0211_Polynomial/ELinkList.h | 175 +++++ .../0211_Polynomial/Polynomial-main.c | 79 +++ CLion/CourseBook/0211_Polynomial/Polynomial.c | 397 +++++++++++ CLion/CourseBook/0211_Polynomial/Polynomial.h | 91 +++ .../0211_Polynomial/TestData_Pa.txt | 1 + .../0211_Polynomial/TestData_Pb.txt | 1 + CLion/CourseBook/CMakeLists.txt | 11 + CLion/ExerciseBook/01.16/01.16.c | 53 ++ CLion/ExerciseBook/01.16/CMakeLists.txt | 6 + CLion/ExerciseBook/01.17/01.17.c | 86 +++ CLion/ExerciseBook/01.17/CMakeLists.txt | 6 + CLion/ExerciseBook/01.19/01.19.c | 55 ++ CLion/ExerciseBook/01.19/CMakeLists.txt | 6 + CLion/ExerciseBook/01.20/01.20.c | 34 + CLion/ExerciseBook/01.20/CMakeLists.txt | 6 + CLion/ExerciseBook/02.10/02.10.c | 68 ++ CLion/ExerciseBook/02.10/CMakeLists.txt | 6 + CLion/ExerciseBook/02.10/SqList.c | 99 +++ CLion/ExerciseBook/02.10/SqList.h | 61 ++ CLion/ExerciseBook/02.11/02.11.c | 92 +++ CLion/ExerciseBook/02.11/CMakeLists.txt | 6 + CLion/ExerciseBook/02.11/SqList.c | 142 ++++ CLion/ExerciseBook/02.11/SqList.h | 74 ++ CLion/ExerciseBook/02.12/02.12.c | 86 +++ CLion/ExerciseBook/02.12/CMakeLists.txt | 6 + CLion/ExerciseBook/02.12/SqList.c | 99 +++ CLion/ExerciseBook/02.12/SqList.h | 61 ++ CLion/ExerciseBook/02.13/02.13.c | 60 ++ CLion/ExerciseBook/02.13/CMakeLists.txt | 6 + CLion/ExerciseBook/02.13/LinkList.c | 125 ++++ CLion/ExerciseBook/02.13/LinkList.h | 68 ++ CLion/ExerciseBook/02.14/02.14.c | 46 ++ CLion/ExerciseBook/02.14/CMakeLists.txt | 6 + CLion/ExerciseBook/02.14/LinkList.c | 118 ++++ CLion/ExerciseBook/02.14/LinkList.h | 64 ++ CLion/ExerciseBook/02.15/02.15.c | 90 +++ CLion/ExerciseBook/02.15/CMakeLists.txt | 6 + CLion/ExerciseBook/02.15/LinkList.c | 92 +++ CLion/ExerciseBook/02.15/LinkList.h | 57 ++ CLion/ExerciseBook/02.16-02.18/02.16-02.18.c | 296 ++++++++ CLion/ExerciseBook/02.16-02.18/CMakeLists.txt | 6 + CLion/ExerciseBook/02.19-02.20/02.19-02.20.c | 194 ++++++ CLion/ExerciseBook/02.19-02.20/CMakeLists.txt | 6 + CLion/ExerciseBook/02.19-02.20/LinkList.c | 92 +++ CLion/ExerciseBook/02.19-02.20/LinkList.h | 57 ++ CLion/ExerciseBook/02.21/02.21.c | 63 ++ CLion/ExerciseBook/02.21/CMakeLists.txt | 6 + CLion/ExerciseBook/02.21/SqList.c | 99 +++ CLion/ExerciseBook/02.21/SqList.h | 61 ++ CLion/ExerciseBook/02.22/02.22.c | 62 ++ CLion/ExerciseBook/02.22/CMakeLists.txt | 6 + CLion/ExerciseBook/02.22/LinkList.c | 92 +++ CLion/ExerciseBook/02.22/LinkList.h | 57 ++ CLion/ExerciseBook/02.23/02.23.c | 147 ++++ CLion/ExerciseBook/02.23/CMakeLists.txt | 6 + CLion/ExerciseBook/02.23/LinkList.c | 92 +++ CLion/ExerciseBook/02.23/LinkList.h | 57 ++ CLion/ExerciseBook/02.24/02.24.c | 94 +++ CLion/ExerciseBook/02.24/CMakeLists.txt | 6 + CLion/ExerciseBook/02.24/LinkList.c | 92 +++ CLion/ExerciseBook/02.24/LinkList.h | 57 ++ CLion/ExerciseBook/02.25/02.25.c | 82 +++ CLion/ExerciseBook/02.25/CMakeLists.txt | 6 + CLion/ExerciseBook/02.25/SqList.c | 99 +++ CLion/ExerciseBook/02.25/SqList.h | 61 ++ CLion/ExerciseBook/02.26/02.26.c | 89 +++ CLion/ExerciseBook/02.26/CMakeLists.txt | 6 + CLion/ExerciseBook/02.26/LinkList.c | 92 +++ CLion/ExerciseBook/02.26/LinkList.h | 57 ++ CLion/ExerciseBook/02.27/02.27.c | 96 +++ CLion/ExerciseBook/02.27/CMakeLists.txt | 6 + CLion/ExerciseBook/02.27/SqList.c | 99 +++ CLion/ExerciseBook/02.27/SqList.h | 61 ++ CLion/ExerciseBook/02.28/02.28.c | 92 +++ CLion/ExerciseBook/02.28/CMakeLists.txt | 6 + CLion/ExerciseBook/02.28/LinkList.c | 92 +++ CLion/ExerciseBook/02.28/LinkList.h | 57 ++ CLion/ExerciseBook/02.29/02.29.c | 104 +++ CLion/ExerciseBook/02.29/CMakeLists.txt | 6 + CLion/ExerciseBook/02.29/SqList.c | 99 +++ CLion/ExerciseBook/02.29/SqList.h | 61 ++ CLion/ExerciseBook/02.30/02.30.c | 97 +++ CLion/ExerciseBook/02.30/CMakeLists.txt | 6 + CLion/ExerciseBook/02.30/LinkList.c | 92 +++ CLion/ExerciseBook/02.30/LinkList.h | 57 ++ CLion/ExerciseBook/02.31/02.31.c | 136 ++++ CLion/ExerciseBook/02.31/CMakeLists.txt | 6 + CLion/ExerciseBook/02.32/02.32.c | 134 ++++ CLion/ExerciseBook/02.32/CMakeLists.txt | 6 + CLion/ExerciseBook/02.33/02.33.c | 174 +++++ CLion/ExerciseBook/02.33/CMakeLists.txt | 6 + CLion/ExerciseBook/02.34-02.36/02.34-02.36.c | 433 ++++++++++++ CLion/ExerciseBook/02.34-02.36/CMakeLists.txt | 6 + CLion/ExerciseBook/02.37/02.37.c | 73 ++ CLion/ExerciseBook/02.37/CMakeLists.txt | 6 + CLion/ExerciseBook/02.37/DuLinkList.c | 130 ++++ CLion/ExerciseBook/02.37/DuLinkList.h | 67 ++ CLion/ExerciseBook/02.38/02.38.c | 153 +++++ CLion/ExerciseBook/02.38/CMakeLists.txt | 6 + CLion/ExerciseBook/02.39-02.40/02.39-02.40.c | 184 +++++ CLion/ExerciseBook/02.39-02.40/CMakeLists.txt | 6 + CLion/ExerciseBook/02.41-02.42/02.41-02.42.c | 215 ++++++ CLion/ExerciseBook/02.41-02.42/CMakeLists.txt | 6 + CLion/ExerciseBook/CMakeLists.txt | 31 + CLion/README.md | 22 + CLion/Status/CMakeLists.txt | 8 + CLion/Status/Status.c | 164 +++++ CLion/Status/Status.h | 45 ++ CLion/image/CLion00.png | Bin 0 -> 44126 bytes CLion/image/CLion01.png | Bin 0 -> 24119 bytes CLion/image/CLion02.png | Bin 0 -> 23514 bytes CLion/image/CLion03.png | Bin 0 -> 6241 bytes .../CourseBook/0201_SqList/SqList-main.cpp | 171 +++++ Dev-C++/CourseBook/0201_SqList/SqList.cpp | 338 ++++++++++ Dev-C++/CourseBook/0201_SqList/SqList.dev | 82 +++ Dev-C++/CourseBook/0201_SqList/SqList.h | 150 +++++ Dev-C++/CourseBook/0202_Union/SqList.cpp | 173 +++++ Dev-C++/CourseBook/0202_Union/SqList.h | 94 +++ Dev-C++/CourseBook/0202_Union/Union-main.cpp | 44 ++ Dev-C++/CourseBook/0202_Union/Union.cpp | 46 ++ Dev-C++/CourseBook/0202_Union/Union.dev | 102 +++ Dev-C++/CourseBook/0202_Union/Union.h | 34 + .../0203_MergeSqList/MergeSqList-main.cpp | 49 ++ .../0203_MergeSqList/MergeSqList.cpp | 104 +++ .../0203_MergeSqList/MergeSqList.dev | 102 +++ .../CourseBook/0203_MergeSqList/MergeSqList.h | 35 + .../CourseBook/0203_MergeSqList/SqList.cpp | 129 ++++ Dev-C++/CourseBook/0203_MergeSqList/SqList.h | 80 +++ .../0204_LinkList/LinkList-main.cpp | 170 +++++ Dev-C++/CourseBook/0204_LinkList/LinkList.cpp | 488 ++++++++++++++ Dev-C++/CourseBook/0204_LinkList/LinkList.dev | 100 +++ Dev-C++/CourseBook/0204_LinkList/LinkList.h | 168 +++++ .../0204_LinkList/TestData_Head.txt | 1 + .../0204_LinkList/TestData_Tail.txt | 1 + .../CourseBook/0205_MergeList/LinkList.cpp | 138 ++++ Dev-C++/CourseBook/0205_MergeList/LinkList.h | 61 ++ .../0205_MergeList/MergeList-main.cpp | 31 + .../CourseBook/0205_MergeList/MergeList.cpp | 45 ++ .../CourseBook/0205_MergeList/MergeList.dev | 120 ++++ Dev-C++/CourseBook/0205_MergeList/MergeList.h | 24 + .../0205_MergeList/TestData_Head.txt | 1 + .../0205_MergeList/TestData_Tail.txt | 1 + .../0206_SLinkList/SLinkList-main.cpp | 152 +++++ .../CourseBook/0206_SLinkList/SLinkList.cpp | 470 +++++++++++++ .../CourseBook/0206_SLinkList/SLinkList.dev | 82 +++ Dev-C++/CourseBook/0206_SLinkList/SLinkList.h | 208 ++++++ .../0207_Difference/Difference-main.cpp | 19 + .../CourseBook/0207_Difference/Difference.cpp | 95 +++ .../CourseBook/0207_Difference/Difference.dev | 111 +++ .../CourseBook/0207_Difference/Difference.h | 28 + .../CourseBook/0207_Difference/SLinkList.cpp | 116 ++++ .../CourseBook/0207_Difference/SLinkList.h | 89 +++ .../CourseBook/0207_Difference/TestData.txt | 4 + .../0208_DuLinkList/DuLinkList-main.cpp | 149 +++++ .../CourseBook/0208_DuLinkList/DuLinkList.cpp | 402 +++++++++++ .../CourseBook/0208_DuLinkList/DuLinkList.dev | 82 +++ .../CourseBook/0208_DuLinkList/DuLinkList.h | 153 +++++ .../0209_ELinkList/ELinkList-main.cpp | 224 +++++++ .../CourseBook/0209_ELinkList/ELinkList.cpp | 630 ++++++++++++++++++ .../CourseBook/0209_ELinkList/ELinkList.dev | 82 +++ Dev-C++/CourseBook/0209_ELinkList/ELinkList.h | 253 +++++++ .../CourseBook/0210_MergeEList/ELinkList.cpp | 324 +++++++++ .../CourseBook/0210_MergeEList/ELinkList.h | 155 +++++ .../0210_MergeEList/MergeEList-main.cpp | 71 ++ .../CourseBook/0210_MergeEList/MergeEList.cpp | 75 +++ .../CourseBook/0210_MergeEList/MergeEList.dev | 120 ++++ .../CourseBook/0210_MergeEList/MergeEList.h | 36 + .../0210_MergeEList/TestData_La.txt | 2 + .../0210_MergeEList/TestData_Lb.txt | 2 + .../CourseBook/0211_Polynomial/ELinkList.cpp | 338 ++++++++++ .../CourseBook/0211_Polynomial/ELinkList.h | 175 +++++ .../0211_Polynomial/Polynomial-main.cpp | 79 +++ .../CourseBook/0211_Polynomial/Polynomial.cpp | 397 +++++++++++ .../CourseBook/0211_Polynomial/Polynomial.dev | 120 ++++ .../CourseBook/0211_Polynomial/Polynomial.h | 91 +++ .../0211_Polynomial/TestData_Pa.txt | 1 + .../0211_Polynomial/TestData_Pb.txt | 1 + Dev-C++/ExerciseBook/01.16/01.16.cpp | 53 ++ Dev-C++/ExerciseBook/01.16/01.16.dev | 62 ++ Dev-C++/ExerciseBook/01.17/01.17.cpp | 86 +++ Dev-C++/ExerciseBook/01.17/01.17.dev | 62 ++ Dev-C++/ExerciseBook/01.19/01.19.cpp | 55 ++ Dev-C++/ExerciseBook/01.19/01.19.dev | 62 ++ Dev-C++/ExerciseBook/01.20/01.20.cpp | 34 + Dev-C++/ExerciseBook/01.20/01.20.dev | 62 ++ Dev-C++/ExerciseBook/02.10/02.10.cpp | 68 ++ Dev-C++/ExerciseBook/02.10/02.10.dev | 82 +++ Dev-C++/ExerciseBook/02.10/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.10/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.11/02.11.cpp | 92 +++ Dev-C++/ExerciseBook/02.11/02.11.dev | 82 +++ Dev-C++/ExerciseBook/02.11/SqList.cpp | 142 ++++ Dev-C++/ExerciseBook/02.11/SqList.h | 74 ++ Dev-C++/ExerciseBook/02.12/02.12.cpp | 86 +++ Dev-C++/ExerciseBook/02.12/02.12.dev | 82 +++ Dev-C++/ExerciseBook/02.12/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.12/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.13/02.13.cpp | 60 ++ Dev-C++/ExerciseBook/02.13/02.13.dev | 82 +++ Dev-C++/ExerciseBook/02.13/LinkList.cpp | 125 ++++ Dev-C++/ExerciseBook/02.13/LinkList.h | 68 ++ Dev-C++/ExerciseBook/02.14/02.14.cpp | 46 ++ Dev-C++/ExerciseBook/02.14/02.14.dev | 82 +++ Dev-C++/ExerciseBook/02.14/LinkList.cpp | 118 ++++ Dev-C++/ExerciseBook/02.14/LinkList.h | 64 ++ Dev-C++/ExerciseBook/02.15/02.15.cpp | 90 +++ Dev-C++/ExerciseBook/02.15/02.15.dev | 82 +++ Dev-C++/ExerciseBook/02.15/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.15/LinkList.h | 57 ++ .../ExerciseBook/02.16-02.18/02.16-02.18.cpp | 296 ++++++++ .../ExerciseBook/02.16-02.18/02.16-02.18.dev | 62 ++ .../ExerciseBook/02.19-02.20/02.19-02.20.cpp | 194 ++++++ .../ExerciseBook/02.19-02.20/02.19-02.20.dev | 82 +++ Dev-C++/ExerciseBook/02.19-02.20/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.19-02.20/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.21/02.21.cpp | 63 ++ Dev-C++/ExerciseBook/02.21/02.21.dev | 82 +++ Dev-C++/ExerciseBook/02.21/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.21/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.22/02.22.cpp | 62 ++ Dev-C++/ExerciseBook/02.22/02.22.dev | 82 +++ Dev-C++/ExerciseBook/02.22/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.22/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.23/02.23.cpp | 147 ++++ Dev-C++/ExerciseBook/02.23/02.23.dev | 82 +++ Dev-C++/ExerciseBook/02.23/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.23/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.24/02.24.cpp | 94 +++ Dev-C++/ExerciseBook/02.24/02.24.dev | 82 +++ Dev-C++/ExerciseBook/02.24/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.24/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.25/02.25.cpp | 82 +++ Dev-C++/ExerciseBook/02.25/02.25.dev | 82 +++ Dev-C++/ExerciseBook/02.25/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.25/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.26/02.26.cpp | 89 +++ Dev-C++/ExerciseBook/02.26/02.26.dev | 82 +++ Dev-C++/ExerciseBook/02.26/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.26/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.27/02.27.cpp | 96 +++ Dev-C++/ExerciseBook/02.27/02.27.dev | 82 +++ Dev-C++/ExerciseBook/02.27/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.27/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.28/02.28.cpp | 92 +++ Dev-C++/ExerciseBook/02.28/02.28.dev | 82 +++ Dev-C++/ExerciseBook/02.28/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.28/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.29/02.29.cpp | 104 +++ Dev-C++/ExerciseBook/02.29/02.29.dev | 82 +++ Dev-C++/ExerciseBook/02.29/SqList.cpp | 99 +++ Dev-C++/ExerciseBook/02.29/SqList.h | 61 ++ Dev-C++/ExerciseBook/02.30/02.30.cpp | 97 +++ Dev-C++/ExerciseBook/02.30/02.30.dev | 82 +++ Dev-C++/ExerciseBook/02.30/LinkList.cpp | 92 +++ Dev-C++/ExerciseBook/02.30/LinkList.h | 57 ++ Dev-C++/ExerciseBook/02.31/02.31.cpp | 136 ++++ Dev-C++/ExerciseBook/02.31/02.31.dev | 62 ++ Dev-C++/ExerciseBook/02.32/02.32.cpp | 134 ++++ Dev-C++/ExerciseBook/02.32/02.32.dev | 62 ++ Dev-C++/ExerciseBook/02.33/02.33.cpp | 174 +++++ Dev-C++/ExerciseBook/02.33/02.33.dev | 62 ++ .../ExerciseBook/02.34-02.36/02.34-02.36.cpp | 434 ++++++++++++ .../ExerciseBook/02.34-02.36/02.34-02.36.dev | 62 ++ Dev-C++/ExerciseBook/02.37/02.37.cpp | 73 ++ Dev-C++/ExerciseBook/02.37/02.37.dev | 82 +++ Dev-C++/ExerciseBook/02.37/DuLinkList.cpp | 130 ++++ Dev-C++/ExerciseBook/02.37/DuLinkList.h | 67 ++ Dev-C++/ExerciseBook/02.38/02.38.cpp | 153 +++++ Dev-C++/ExerciseBook/02.38/02.38.dev | 62 ++ .../ExerciseBook/02.39-02.40/02.39-02.40.cpp | 184 +++++ .../ExerciseBook/02.39-02.40/02.39-02.40.dev | 62 ++ .../ExerciseBook/02.41-02.42/02.41-02.42.cpp | 215 ++++++ .../ExerciseBook/02.41-02.42/02.41-02.42.dev | 62 ++ Dev-C++/README.md | 40 ++ Dev-C++/Status/Status.a | Bin 0 -> 28930 bytes Dev-C++/Status/Status.cpp | 165 +++++ Dev-C++/Status/Status.dev | 72 ++ Dev-C++/Status/Status.h | 46 ++ Dev-C++/image/DEV00.png | Bin 0 -> 1644 bytes Dev-C++/image/DEV01.png | Bin 0 -> 11495 bytes Dev-C++/image/DEV02.png | Bin 0 -> 24629 bytes Dev-C++/image/DEV03.png | Bin 0 -> 7260 bytes Dev-C++/image/DEV04.png | Bin 0 -> 51761 bytes Dev-C++/image/DEV05.png | Bin 0 -> 24540 bytes Dev-C++/image/DEV06.png | Bin 0 -> 6209 bytes Dev-C++/image/DEV07.png | Bin 0 -> 5439 bytes Dev-C++/image/DEV08.png | Bin 0 -> 8141 bytes Dev-C++/image/DEV09.png | Bin 0 -> 23161 bytes README.md | 40 +- .../0201_SqList/0201_SqList.vcxproj | 76 +++ .../0201_SqList/0201_SqList.vcxproj.filters | 30 + .../0201_SqList/0201_SqList.vcxproj.user | 3 + .../CourseBook/0201_SqList/SqList-main.c | 170 +++++ VisualC++/CourseBook/0201_SqList/SqList.c | 337 ++++++++++ VisualC++/CourseBook/0201_SqList/SqList.h | 149 +++++ .../CourseBook/0202_Union/0202_Union.vcxproj | 78 +++ .../0202_Union/0202_Union.vcxproj.filters | 36 + .../0202_Union/0202_Union.vcxproj.user | 3 + VisualC++/CourseBook/0202_Union/SqList.c | 172 +++++ VisualC++/CourseBook/0202_Union/SqList.h | 93 +++ VisualC++/CourseBook/0202_Union/Union-main.c | 43 ++ VisualC++/CourseBook/0202_Union/Union.c | 45 ++ VisualC++/CourseBook/0202_Union/Union.h | 33 + .../0203_MergeSqList/0203_MergeSqList.vcxproj | 78 +++ .../0203_MergeSqList.vcxproj.filters | 36 + .../0203_MergeSqList.vcxproj.user | 3 + .../0203_MergeSqList/MergeSqList-main.c | 49 ++ .../CourseBook/0203_MergeSqList/MergeSqList.c | 104 +++ .../CourseBook/0203_MergeSqList/MergeSqList.h | 35 + .../CourseBook/0203_MergeSqList/SqList.c | 129 ++++ .../CourseBook/0203_MergeSqList/SqList.h | 80 +++ .../0204_LinkList/0204_LinkList.vcxproj | 80 +++ .../0204_LinkList.vcxproj.filters | 38 ++ .../0204_LinkList/0204_LinkList.vcxproj.user | 3 + .../CourseBook/0204_LinkList/LinkList-main.c | 170 +++++ VisualC++/CourseBook/0204_LinkList/LinkList.c | 488 ++++++++++++++ VisualC++/CourseBook/0204_LinkList/LinkList.h | 168 +++++ .../0204_LinkList/TestData_Head.txt | 1 + .../0204_LinkList/TestData_Tail.txt | 1 + .../0205_MergeList/0205_MergeList.vcxproj | 82 +++ .../0205_MergeList.vcxproj.filters | 44 ++ .../0205_MergeList.vcxproj.user | 3 + .../CourseBook/0205_MergeList/LinkList.c | 138 ++++ .../CourseBook/0205_MergeList/LinkList.h | 61 ++ .../0205_MergeList/MergeList-main.c | 31 + .../CourseBook/0205_MergeList/MergeList.c | 45 ++ .../CourseBook/0205_MergeList/MergeList.h | 24 + .../0205_MergeList/TestData_Head.txt | 1 + .../0205_MergeList/TestData_Tail.txt | 1 + .../0206_SLinkList/0206_SLinkList.vcxproj | 76 +++ .../0206_SLinkList.vcxproj.filters | 30 + .../0206_SLinkList.vcxproj.user | 3 + .../0206_SLinkList/SLinkList-main.c | 152 +++++ .../CourseBook/0206_SLinkList/SLinkList.c | 470 +++++++++++++ .../CourseBook/0206_SLinkList/SLinkList.h | 208 ++++++ .../0207_Difference/0207_Difference.vcxproj | 81 +++ .../0207_Difference.vcxproj.filters | 41 ++ .../0207_Difference.vcxproj.user | 3 + .../0207_Difference/Difference-main.c | 19 + .../CourseBook/0207_Difference/Difference.c | 95 +++ .../CourseBook/0207_Difference/Difference.h | 28 + .../CourseBook/0207_Difference/SLinkList.c | 116 ++++ .../CourseBook/0207_Difference/SLinkList.h | 89 +++ .../CourseBook/0207_Difference/TestData.txt | 4 + .../0208_DuLinkList/0208_DuLinkList.vcxproj | 76 +++ .../0208_DuLinkList.vcxproj.filters | 30 + .../0208_DuLinkList.vcxproj.user | 3 + .../0208_DuLinkList/DuLinkList-main.c | 149 +++++ .../CourseBook/0208_DuLinkList/DuLinkList.c | 402 +++++++++++ .../CourseBook/0208_DuLinkList/DuLinkList.h | 153 +++++ .../0209_ELinkList/0209_ELinkList.vcxproj | 76 +++ .../0209_ELinkList.vcxproj.filters | 30 + .../0209_ELinkList.vcxproj.user | 3 + .../0209_ELinkList/ELinkList-main.c | 224 +++++++ .../CourseBook/0209_ELinkList/ELinkList.c | 630 ++++++++++++++++++ .../CourseBook/0209_ELinkList/ELinkList.h | 253 +++++++ .../0210_MergeEList/0210_MergeEList.vcxproj | 82 +++ .../0210_MergeEList.vcxproj.filters | 44 ++ .../0210_MergeEList.vcxproj.user | 3 + .../CourseBook/0210_MergeEList/ELinkList.c | 324 +++++++++ .../CourseBook/0210_MergeEList/ELinkList.h | 155 +++++ .../0210_MergeEList/MergeEList-main.c | 71 ++ .../CourseBook/0210_MergeEList/MergeEList.c | 75 +++ .../CourseBook/0210_MergeEList/MergeEList.h | 36 + .../0210_MergeEList/TestData_La.txt | 2 + .../0210_MergeEList/TestData_Lb.txt | 2 + .../0211_Polynomial/0211_Polynomial.vcxproj | 82 +++ .../0211_Polynomial.vcxproj.filters | 44 ++ .../0211_Polynomial.vcxproj.user | 3 + .../CourseBook/0211_Polynomial/ELinkList.c | 338 ++++++++++ .../CourseBook/0211_Polynomial/ELinkList.h | 175 +++++ .../0211_Polynomial/Polynomial-main.c | 79 +++ .../CourseBook/0211_Polynomial/Polynomial.c | 397 +++++++++++ .../CourseBook/0211_Polynomial/Polynomial.h | 91 +++ .../0211_Polynomial/TestData_Pa.txt | 1 + .../0211_Polynomial/TestData_Pb.txt | 1 + VisualC++/CourseBook/CourseBook.sdf | Bin 0 -> 2969600 bytes VisualC++/CourseBook/CourseBook.sln | 80 +++ VisualC++/CourseBook/CourseBook.suo | Bin 0 -> 50176 bytes VisualC++/ExerciseBook/01.16/01.16.c | 53 ++ VisualC++/ExerciseBook/01.16/01.16.vcxproj | 72 ++ .../ExerciseBook/01.16/01.16.vcxproj.filters | 22 + .../ExerciseBook/01.16/01.16.vcxproj.user | 3 + VisualC++/ExerciseBook/01.17/01.17.c | 86 +++ VisualC++/ExerciseBook/01.17/01.17.vcxproj | 72 ++ .../ExerciseBook/01.17/01.17.vcxproj.filters | 22 + .../ExerciseBook/01.17/01.17.vcxproj.user | 3 + VisualC++/ExerciseBook/01.19/01.19.c | 55 ++ VisualC++/ExerciseBook/01.19/01.19.vcxproj | 72 ++ .../ExerciseBook/01.19/01.19.vcxproj.filters | 22 + .../ExerciseBook/01.19/01.19.vcxproj.user | 3 + VisualC++/ExerciseBook/01.20/01.20.c | 34 + VisualC++/ExerciseBook/01.20/01.20.vcxproj | 72 ++ .../ExerciseBook/01.20/01.20.vcxproj.filters | 22 + .../ExerciseBook/01.20/01.20.vcxproj.user | 3 + VisualC++/ExerciseBook/02.10/02.10.c | 68 ++ VisualC++/ExerciseBook/02.10/02.10.vcxproj | 76 +++ .../ExerciseBook/02.10/02.10.vcxproj.filters | 30 + .../ExerciseBook/02.10/02.10.vcxproj.user | 3 + VisualC++/ExerciseBook/02.10/SqList.c | 99 +++ VisualC++/ExerciseBook/02.10/SqList.h | 61 ++ VisualC++/ExerciseBook/02.11/02.11.c | 92 +++ VisualC++/ExerciseBook/02.11/02.11.vcxproj | 76 +++ .../ExerciseBook/02.11/02.11.vcxproj.filters | 30 + .../ExerciseBook/02.11/02.11.vcxproj.user | 3 + VisualC++/ExerciseBook/02.11/SqList.c | 142 ++++ VisualC++/ExerciseBook/02.11/SqList.h | 74 ++ VisualC++/ExerciseBook/02.12/02.12.c | 86 +++ VisualC++/ExerciseBook/02.12/02.12.vcxproj | 76 +++ .../ExerciseBook/02.12/02.12.vcxproj.filters | 30 + .../ExerciseBook/02.12/02.12.vcxproj.user | 3 + VisualC++/ExerciseBook/02.12/SqList.c | 99 +++ VisualC++/ExerciseBook/02.12/SqList.h | 61 ++ VisualC++/ExerciseBook/02.13/02.13.c | 60 ++ VisualC++/ExerciseBook/02.13/02.13.vcxproj | 76 +++ .../ExerciseBook/02.13/02.13.vcxproj.filters | 30 + .../ExerciseBook/02.13/02.13.vcxproj.user | 3 + VisualC++/ExerciseBook/02.13/LinkList.c | 125 ++++ VisualC++/ExerciseBook/02.13/LinkList.h | 68 ++ VisualC++/ExerciseBook/02.14/02.14.c | 46 ++ VisualC++/ExerciseBook/02.14/02.14.vcxproj | 76 +++ .../ExerciseBook/02.14/02.14.vcxproj.filters | 30 + .../ExerciseBook/02.14/02.14.vcxproj.user | 3 + VisualC++/ExerciseBook/02.14/LinkList.c | 118 ++++ VisualC++/ExerciseBook/02.14/LinkList.h | 64 ++ VisualC++/ExerciseBook/02.15/02.15.c | 90 +++ VisualC++/ExerciseBook/02.15/02.15.vcxproj | 76 +++ .../ExerciseBook/02.15/02.15.vcxproj.filters | 30 + .../ExerciseBook/02.15/02.15.vcxproj.user | 3 + VisualC++/ExerciseBook/02.15/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.15/LinkList.h | 57 ++ .../ExerciseBook/02.16-02.18/02.16-02.18.c | 296 ++++++++ .../02.16-02.18/02.16-02.18.vcxproj | 72 ++ .../02.16-02.18/02.16-02.18.vcxproj.filters | 22 + .../02.16-02.18/02.16-02.18.vcxproj.user | 3 + .../ExerciseBook/02.19-02.20/02.19-02.20.c | 194 ++++++ .../02.19-02.20/02.19-02.20.vcxproj | 76 +++ .../02.19-02.20/02.19-02.20.vcxproj.filters | 30 + .../02.19-02.20/02.19-02.20.vcxproj.user | 3 + VisualC++/ExerciseBook/02.19-02.20/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.19-02.20/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.21/02.21.c | 63 ++ VisualC++/ExerciseBook/02.21/02.21.vcxproj | 76 +++ .../ExerciseBook/02.21/02.21.vcxproj.filters | 30 + .../ExerciseBook/02.21/02.21.vcxproj.user | 3 + VisualC++/ExerciseBook/02.21/SqList.c | 99 +++ VisualC++/ExerciseBook/02.21/SqList.h | 61 ++ VisualC++/ExerciseBook/02.22/02.22.c | 62 ++ VisualC++/ExerciseBook/02.22/02.22.vcxproj | 76 +++ .../ExerciseBook/02.22/02.22.vcxproj.filters | 30 + .../ExerciseBook/02.22/02.22.vcxproj.user | 3 + VisualC++/ExerciseBook/02.22/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.22/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.23/02.23.c | 147 ++++ VisualC++/ExerciseBook/02.23/02.23.vcxproj | 76 +++ .../ExerciseBook/02.23/02.23.vcxproj.filters | 30 + .../ExerciseBook/02.23/02.23.vcxproj.user | 3 + VisualC++/ExerciseBook/02.23/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.23/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.24/02.24.c | 94 +++ VisualC++/ExerciseBook/02.24/02.24.vcxproj | 76 +++ .../ExerciseBook/02.24/02.24.vcxproj.filters | 30 + .../ExerciseBook/02.24/02.24.vcxproj.user | 3 + VisualC++/ExerciseBook/02.24/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.24/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.25/02.25.c | 82 +++ VisualC++/ExerciseBook/02.25/02.25.vcxproj | 76 +++ .../ExerciseBook/02.25/02.25.vcxproj.filters | 30 + .../ExerciseBook/02.25/02.25.vcxproj.user | 3 + VisualC++/ExerciseBook/02.25/SqList.c | 99 +++ VisualC++/ExerciseBook/02.25/SqList.h | 61 ++ VisualC++/ExerciseBook/02.26/02.26.c | 89 +++ VisualC++/ExerciseBook/02.26/02.26.vcxproj | 76 +++ .../ExerciseBook/02.26/02.26.vcxproj.filters | 30 + .../ExerciseBook/02.26/02.26.vcxproj.user | 3 + VisualC++/ExerciseBook/02.26/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.26/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.27/02.27.c | 96 +++ VisualC++/ExerciseBook/02.27/02.27.vcxproj | 76 +++ .../ExerciseBook/02.27/02.27.vcxproj.filters | 30 + .../ExerciseBook/02.27/02.27.vcxproj.user | 3 + VisualC++/ExerciseBook/02.27/SqList.c | 99 +++ VisualC++/ExerciseBook/02.27/SqList.h | 61 ++ VisualC++/ExerciseBook/02.28/02.28.c | 92 +++ VisualC++/ExerciseBook/02.28/02.28.vcxproj | 76 +++ .../ExerciseBook/02.28/02.28.vcxproj.filters | 30 + .../ExerciseBook/02.28/02.28.vcxproj.user | 3 + VisualC++/ExerciseBook/02.28/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.28/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.29/02.29.c | 104 +++ VisualC++/ExerciseBook/02.29/02.29.vcxproj | 76 +++ .../ExerciseBook/02.29/02.29.vcxproj.filters | 30 + .../ExerciseBook/02.29/02.29.vcxproj.user | 3 + VisualC++/ExerciseBook/02.29/SqList.c | 99 +++ VisualC++/ExerciseBook/02.29/SqList.h | 61 ++ VisualC++/ExerciseBook/02.30/02.30.c | 97 +++ VisualC++/ExerciseBook/02.30/02.30.vcxproj | 76 +++ .../ExerciseBook/02.30/02.30.vcxproj.filters | 30 + .../ExerciseBook/02.30/02.30.vcxproj.user | 3 + VisualC++/ExerciseBook/02.30/LinkList.c | 92 +++ VisualC++/ExerciseBook/02.30/LinkList.h | 57 ++ VisualC++/ExerciseBook/02.31/02.31.c | 136 ++++ VisualC++/ExerciseBook/02.31/02.31.vcxproj | 72 ++ .../ExerciseBook/02.31/02.31.vcxproj.filters | 22 + .../ExerciseBook/02.31/02.31.vcxproj.user | 3 + VisualC++/ExerciseBook/02.32/02.32.c | 134 ++++ VisualC++/ExerciseBook/02.32/02.32.vcxproj | 72 ++ .../ExerciseBook/02.32/02.32.vcxproj.filters | 22 + .../ExerciseBook/02.32/02.32.vcxproj.user | 3 + VisualC++/ExerciseBook/02.33/02.33.c | 174 +++++ VisualC++/ExerciseBook/02.33/02.33.vcxproj | 72 ++ .../ExerciseBook/02.33/02.33.vcxproj.filters | 22 + .../ExerciseBook/02.33/02.33.vcxproj.user | 3 + .../ExerciseBook/02.34-02.36/02.34-02.36.c | 433 ++++++++++++ .../02.34-02.36/02.34-02.36.vcxproj | 72 ++ .../02.34-02.36/02.34-02.36.vcxproj.filters | 22 + .../02.34-02.36/02.34-02.36.vcxproj.user | 3 + VisualC++/ExerciseBook/02.37/02.37.c | 73 ++ VisualC++/ExerciseBook/02.37/02.37.vcxproj | 76 +++ .../ExerciseBook/02.37/02.37.vcxproj.filters | 30 + .../ExerciseBook/02.37/02.37.vcxproj.user | 3 + VisualC++/ExerciseBook/02.37/DuLinkList.c | 130 ++++ VisualC++/ExerciseBook/02.37/DuLinkList.h | 67 ++ VisualC++/ExerciseBook/02.38/02.38.c | 153 +++++ VisualC++/ExerciseBook/02.38/02.38.vcxproj | 72 ++ .../ExerciseBook/02.38/02.38.vcxproj.filters | 22 + .../ExerciseBook/02.38/02.38.vcxproj.user | 3 + .../ExerciseBook/02.39-02.40/02.39-02.40.c | 184 +++++ .../02.39-02.40/02.39-02.40.vcxproj | 72 ++ .../02.39-02.40/02.39-02.40.vcxproj.filters | 22 + .../02.39-02.40/02.39-02.40.vcxproj.user | 3 + .../ExerciseBook/02.41-02.42/02.41-02.42.c | 215 ++++++ .../02.41-02.42/02.41-02.42.vcxproj | 72 ++ .../02.41-02.42/02.41-02.42.vcxproj.filters | 22 + .../02.41-02.42/02.41-02.42.vcxproj.user | 3 + VisualC++/ExerciseBook/ExerciseBook.sdf | Bin 0 -> 3887104 bytes VisualC++/ExerciseBook/ExerciseBook.sln | 194 ++++++ VisualC++/ExerciseBook/ExerciseBook.suo | Bin 0 -> 75264 bytes VisualC++/README.md | 26 + VisualC++/Status/Status.c | 164 +++++ VisualC++/Status/Status.h | 43 ++ VisualC++/Status/Status.lib | Bin 0 -> 10364 bytes VisualC++/Status/Status.sdf | Bin 0 -> 1921024 bytes VisualC++/Status/Status.sln | 20 + VisualC++/Status/Status.suo | Bin 0 -> 10752 bytes VisualC++/Status/Status.vcxproj | 80 +++ VisualC++/Status/Status.vcxproj.filters | 27 + VisualC++/Status/Status.vcxproj.user | 3 + VisualC++/image/VC01.png | Bin 0 -> 100437 bytes VisualC++/image/VC02.png | Bin 0 -> 40678 bytes VisualC++/image/VC03.png | Bin 0 -> 41627 bytes VisualC++/image/VC04.png | Bin 0 -> 50745 bytes VisualC++/image/VC05.png | Bin 0 -> 49899 bytes .../01 绪论/_v_images/20181124235559962_1540.png | Bin 0 -> 11531 bytes .../01 绪论/_v_images/20181124235659821_31062.png | Bin 0 -> 18579 bytes .../01 绪论/_v_images/20181124235736015_5587.png | Bin 0 -> 8402 bytes .../01 绪论/_v_images/20181124235749817_29555.png | Bin 0 -> 17786 bytes .../01 绪论/_v_images/20181125001012797_15869.png | Bin 0 -> 1423 bytes .../01 绪论/_v_images/20181125001057524_32274.png | Bin 0 -> 3633 bytes .../01 绪论/_v_images/20181125001138318_16618.png | Bin 0 -> 520 bytes .../01 绪论/_v_images/20181125002335576_8701.png | Bin 0 -> 5459 bytes .../01 绪论/_v_images/20181125002344865_51.png | Bin 0 -> 5396 bytes .../01 绪论/_v_images/20181125003217769_19055.png | Bin 0 -> 4644 bytes .../01 绪论/_v_images/20181125003411487_11601.png | Bin 0 -> 12238 bytes .../01 绪论/_v_images/20181125003506946_12124.png | Bin 0 -> 12258 bytes .../01 绪论/_v_images/20181125003527776_6872.png | Bin 0 -> 15359 bytes .../01 绪论/_v_images/20181125003543569_28283.png | Bin 0 -> 14580 bytes .../01 绪论/_v_images/20181125003604248_12415.png | Bin 0 -> 11874 bytes .../01 绪论/_v_images/20181125003616918_30233.png | Bin 0 -> 13554 bytes .../01 绪论/_v_images/20181125004220502_31495.png | Bin 0 -> 2065 bytes 习题解析/01 绪论/第01章 绪论.md | 396 +++++++++++ .../_v_images/20181125013824965_16208.png | Bin 0 -> 3876 bytes .../_v_images/20181125014137666_10327.png | Bin 0 -> 5167 bytes .../_v_images/20181125014156819_4098.png | Bin 0 -> 3767 bytes .../_v_images/20181125014215622_10158.png | Bin 0 -> 5110 bytes .../_v_images/20181125014234236_4049.png | Bin 0 -> 5042 bytes .../_v_images/20181125014248274_14430.png | Bin 0 -> 5134 bytes .../_v_images/20181125014311773_4232.png | Bin 0 -> 5301 bytes .../_v_images/20181125014323122_29833.png | Bin 0 -> 5301 bytes .../_v_images/20181125014418601_7477.png | Bin 0 -> 1077 bytes .../_v_images/20181125014438821_5785.png | Bin 0 -> 2977 bytes .../_v_images/20181125014451902_15334.png | Bin 0 -> 4809 bytes .../_v_images/20181125014506111_5250.png | Bin 0 -> 3347 bytes .../_v_images/20181125021743781_1329.png | Bin 0 -> 2279 bytes .../_v_images/20181125021828395_8351.png | Bin 0 -> 4104 bytes .../_v_images/20181125021843504_17730.png | Bin 0 -> 6065 bytes .../_v_images/20181125021854448_14854.png | Bin 0 -> 9634 bytes .../_v_images/20181125021917117_7519.png | Bin 0 -> 12703 bytes .../_v_images/20181125021939528_12633.png | Bin 0 -> 15877 bytes .../_v_images/20181125022000822_29327.png | Bin 0 -> 19537 bytes .../_v_images/20181125022414116_20977.png | Bin 0 -> 3445 bytes .../_v_images/20181125022508237_15214.png | Bin 0 -> 1425 bytes 习题解析/02 线性表/第02章 线性表.md | 498 ++++++++++++++ 653 files changed, 51720 insertions(+), 11 deletions(-) create mode 100644 CLion/CMakeLists.txt create mode 100644 CLion/CourseBook/0201_SqList/CMakeLists.txt create mode 100644 CLion/CourseBook/0201_SqList/SqList-main.c create mode 100644 CLion/CourseBook/0201_SqList/SqList.c create mode 100644 CLion/CourseBook/0201_SqList/SqList.h create mode 100644 CLion/CourseBook/0202_Union/CMakeLists.txt create mode 100644 CLion/CourseBook/0202_Union/SqList.c create mode 100644 CLion/CourseBook/0202_Union/SqList.h create mode 100644 CLion/CourseBook/0202_Union/Union-main.c create mode 100644 CLion/CourseBook/0202_Union/Union.c create mode 100644 CLion/CourseBook/0202_Union/Union.h create mode 100644 CLion/CourseBook/0203_MergeSqList/CMakeLists.txt create mode 100644 CLion/CourseBook/0203_MergeSqList/MergeSqList-main.c create mode 100644 CLion/CourseBook/0203_MergeSqList/MergeSqList.c create mode 100644 CLion/CourseBook/0203_MergeSqList/MergeSqList.h create mode 100644 CLion/CourseBook/0203_MergeSqList/SqList.c create mode 100644 CLion/CourseBook/0203_MergeSqList/SqList.h create mode 100644 CLion/CourseBook/0204_LinkList/CMakeLists.txt create mode 100644 CLion/CourseBook/0204_LinkList/LinkList-main.c create mode 100644 CLion/CourseBook/0204_LinkList/LinkList.c create mode 100644 CLion/CourseBook/0204_LinkList/LinkList.h create mode 100644 CLion/CourseBook/0204_LinkList/TestData_Head.txt create mode 100644 CLion/CourseBook/0204_LinkList/TestData_Tail.txt create mode 100644 CLion/CourseBook/0205_MergeList/CMakeLists.txt create mode 100644 CLion/CourseBook/0205_MergeList/LinkList.c create mode 100644 CLion/CourseBook/0205_MergeList/LinkList.h create mode 100644 CLion/CourseBook/0205_MergeList/MergeList-main.c create mode 100644 CLion/CourseBook/0205_MergeList/MergeList.c create mode 100644 CLion/CourseBook/0205_MergeList/MergeList.h create mode 100644 CLion/CourseBook/0205_MergeList/TestData_Head.txt create mode 100644 CLion/CourseBook/0205_MergeList/TestData_Tail.txt create mode 100644 CLion/CourseBook/0206_SLinkList/CMakeLists.txt create mode 100644 CLion/CourseBook/0206_SLinkList/SLinkList-main.c create mode 100644 CLion/CourseBook/0206_SLinkList/SLinkList.c create mode 100644 CLion/CourseBook/0206_SLinkList/SLinkList.h create mode 100644 CLion/CourseBook/0207_Difference/CMakeLists.txt create mode 100644 CLion/CourseBook/0207_Difference/Difference-main.c create mode 100644 CLion/CourseBook/0207_Difference/Difference.c create mode 100644 CLion/CourseBook/0207_Difference/Difference.h create mode 100644 CLion/CourseBook/0207_Difference/SLinkList.c create mode 100644 CLion/CourseBook/0207_Difference/SLinkList.h create mode 100644 CLion/CourseBook/0207_Difference/TestData.txt create mode 100644 CLion/CourseBook/0208_DuLinkList/CMakeLists.txt create mode 100644 CLion/CourseBook/0208_DuLinkList/DuLinkList-main.c create mode 100644 CLion/CourseBook/0208_DuLinkList/DuLinkList.c create mode 100644 CLion/CourseBook/0208_DuLinkList/DuLinkList.h create mode 100644 CLion/CourseBook/0209_ELinkList/CMakeLists.txt create mode 100644 CLion/CourseBook/0209_ELinkList/ELinkList-main.c create mode 100644 CLion/CourseBook/0209_ELinkList/ELinkList.c create mode 100644 CLion/CourseBook/0209_ELinkList/ELinkList.h create mode 100644 CLion/CourseBook/0210_MergeEList/CMakeLists.txt create mode 100644 CLion/CourseBook/0210_MergeEList/ELinkList.c create mode 100644 CLion/CourseBook/0210_MergeEList/ELinkList.h create mode 100644 CLion/CourseBook/0210_MergeEList/MergeEList-main.c create mode 100644 CLion/CourseBook/0210_MergeEList/MergeEList.c create mode 100644 CLion/CourseBook/0210_MergeEList/MergeEList.h create mode 100644 CLion/CourseBook/0210_MergeEList/TestData_La.txt create mode 100644 CLion/CourseBook/0210_MergeEList/TestData_Lb.txt create mode 100644 CLion/CourseBook/0211_Polynomial/CMakeLists.txt create mode 100644 CLion/CourseBook/0211_Polynomial/ELinkList.c create mode 100644 CLion/CourseBook/0211_Polynomial/ELinkList.h create mode 100644 CLion/CourseBook/0211_Polynomial/Polynomial-main.c create mode 100644 CLion/CourseBook/0211_Polynomial/Polynomial.c create mode 100644 CLion/CourseBook/0211_Polynomial/Polynomial.h create mode 100644 CLion/CourseBook/0211_Polynomial/TestData_Pa.txt create mode 100644 CLion/CourseBook/0211_Polynomial/TestData_Pb.txt create mode 100644 CLion/CourseBook/CMakeLists.txt create mode 100644 CLion/ExerciseBook/01.16/01.16.c create mode 100644 CLion/ExerciseBook/01.16/CMakeLists.txt create mode 100644 CLion/ExerciseBook/01.17/01.17.c create mode 100644 CLion/ExerciseBook/01.17/CMakeLists.txt create mode 100644 CLion/ExerciseBook/01.19/01.19.c create mode 100644 CLion/ExerciseBook/01.19/CMakeLists.txt create mode 100644 CLion/ExerciseBook/01.20/01.20.c create mode 100644 CLion/ExerciseBook/01.20/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.10/02.10.c create mode 100644 CLion/ExerciseBook/02.10/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.10/SqList.c create mode 100644 CLion/ExerciseBook/02.10/SqList.h create mode 100644 CLion/ExerciseBook/02.11/02.11.c create mode 100644 CLion/ExerciseBook/02.11/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.11/SqList.c create mode 100644 CLion/ExerciseBook/02.11/SqList.h create mode 100644 CLion/ExerciseBook/02.12/02.12.c create mode 100644 CLion/ExerciseBook/02.12/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.12/SqList.c create mode 100644 CLion/ExerciseBook/02.12/SqList.h create mode 100644 CLion/ExerciseBook/02.13/02.13.c create mode 100644 CLion/ExerciseBook/02.13/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.13/LinkList.c create mode 100644 CLion/ExerciseBook/02.13/LinkList.h create mode 100644 CLion/ExerciseBook/02.14/02.14.c create mode 100644 CLion/ExerciseBook/02.14/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.14/LinkList.c create mode 100644 CLion/ExerciseBook/02.14/LinkList.h create mode 100644 CLion/ExerciseBook/02.15/02.15.c create mode 100644 CLion/ExerciseBook/02.15/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.15/LinkList.c create mode 100644 CLion/ExerciseBook/02.15/LinkList.h create mode 100644 CLion/ExerciseBook/02.16-02.18/02.16-02.18.c create mode 100644 CLion/ExerciseBook/02.16-02.18/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.19-02.20/02.19-02.20.c create mode 100644 CLion/ExerciseBook/02.19-02.20/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.19-02.20/LinkList.c create mode 100644 CLion/ExerciseBook/02.19-02.20/LinkList.h create mode 100644 CLion/ExerciseBook/02.21/02.21.c create mode 100644 CLion/ExerciseBook/02.21/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.21/SqList.c create mode 100644 CLion/ExerciseBook/02.21/SqList.h create mode 100644 CLion/ExerciseBook/02.22/02.22.c create mode 100644 CLion/ExerciseBook/02.22/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.22/LinkList.c create mode 100644 CLion/ExerciseBook/02.22/LinkList.h create mode 100644 CLion/ExerciseBook/02.23/02.23.c create mode 100644 CLion/ExerciseBook/02.23/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.23/LinkList.c create mode 100644 CLion/ExerciseBook/02.23/LinkList.h create mode 100644 CLion/ExerciseBook/02.24/02.24.c create mode 100644 CLion/ExerciseBook/02.24/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.24/LinkList.c create mode 100644 CLion/ExerciseBook/02.24/LinkList.h create mode 100644 CLion/ExerciseBook/02.25/02.25.c create mode 100644 CLion/ExerciseBook/02.25/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.25/SqList.c create mode 100644 CLion/ExerciseBook/02.25/SqList.h create mode 100644 CLion/ExerciseBook/02.26/02.26.c create mode 100644 CLion/ExerciseBook/02.26/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.26/LinkList.c create mode 100644 CLion/ExerciseBook/02.26/LinkList.h create mode 100644 CLion/ExerciseBook/02.27/02.27.c create mode 100644 CLion/ExerciseBook/02.27/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.27/SqList.c create mode 100644 CLion/ExerciseBook/02.27/SqList.h create mode 100644 CLion/ExerciseBook/02.28/02.28.c create mode 100644 CLion/ExerciseBook/02.28/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.28/LinkList.c create mode 100644 CLion/ExerciseBook/02.28/LinkList.h create mode 100644 CLion/ExerciseBook/02.29/02.29.c create mode 100644 CLion/ExerciseBook/02.29/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.29/SqList.c create mode 100644 CLion/ExerciseBook/02.29/SqList.h create mode 100644 CLion/ExerciseBook/02.30/02.30.c create mode 100644 CLion/ExerciseBook/02.30/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.30/LinkList.c create mode 100644 CLion/ExerciseBook/02.30/LinkList.h create mode 100644 CLion/ExerciseBook/02.31/02.31.c create mode 100644 CLion/ExerciseBook/02.31/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.32/02.32.c create mode 100644 CLion/ExerciseBook/02.32/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.33/02.33.c create mode 100644 CLion/ExerciseBook/02.33/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.34-02.36/02.34-02.36.c create mode 100644 CLion/ExerciseBook/02.34-02.36/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.37/02.37.c create mode 100644 CLion/ExerciseBook/02.37/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.37/DuLinkList.c create mode 100644 CLion/ExerciseBook/02.37/DuLinkList.h create mode 100644 CLion/ExerciseBook/02.38/02.38.c create mode 100644 CLion/ExerciseBook/02.38/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.39-02.40/02.39-02.40.c create mode 100644 CLion/ExerciseBook/02.39-02.40/CMakeLists.txt create mode 100644 CLion/ExerciseBook/02.41-02.42/02.41-02.42.c create mode 100644 CLion/ExerciseBook/02.41-02.42/CMakeLists.txt create mode 100644 CLion/ExerciseBook/CMakeLists.txt create mode 100644 CLion/Status/CMakeLists.txt create mode 100644 CLion/Status/Status.c create mode 100644 CLion/Status/Status.h create mode 100644 CLion/image/CLion00.png create mode 100644 CLion/image/CLion01.png create mode 100644 CLion/image/CLion02.png create mode 100644 CLion/image/CLion03.png create mode 100644 Dev-C++/CourseBook/0201_SqList/SqList-main.cpp create mode 100644 Dev-C++/CourseBook/0201_SqList/SqList.cpp create mode 100644 Dev-C++/CourseBook/0201_SqList/SqList.dev create mode 100644 Dev-C++/CourseBook/0201_SqList/SqList.h create mode 100644 Dev-C++/CourseBook/0202_Union/SqList.cpp create mode 100644 Dev-C++/CourseBook/0202_Union/SqList.h create mode 100644 Dev-C++/CourseBook/0202_Union/Union-main.cpp create mode 100644 Dev-C++/CourseBook/0202_Union/Union.cpp create mode 100644 Dev-C++/CourseBook/0202_Union/Union.dev create mode 100644 Dev-C++/CourseBook/0202_Union/Union.h create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/MergeSqList-main.cpp create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.cpp create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.dev create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.h create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/SqList.cpp create mode 100644 Dev-C++/CourseBook/0203_MergeSqList/SqList.h create mode 100644 Dev-C++/CourseBook/0204_LinkList/LinkList-main.cpp create mode 100644 Dev-C++/CourseBook/0204_LinkList/LinkList.cpp create mode 100644 Dev-C++/CourseBook/0204_LinkList/LinkList.dev create mode 100644 Dev-C++/CourseBook/0204_LinkList/LinkList.h create mode 100644 Dev-C++/CourseBook/0204_LinkList/TestData_Head.txt create mode 100644 Dev-C++/CourseBook/0204_LinkList/TestData_Tail.txt create mode 100644 Dev-C++/CourseBook/0205_MergeList/LinkList.cpp create mode 100644 Dev-C++/CourseBook/0205_MergeList/LinkList.h create mode 100644 Dev-C++/CourseBook/0205_MergeList/MergeList-main.cpp create mode 100644 Dev-C++/CourseBook/0205_MergeList/MergeList.cpp create mode 100644 Dev-C++/CourseBook/0205_MergeList/MergeList.dev create mode 100644 Dev-C++/CourseBook/0205_MergeList/MergeList.h create mode 100644 Dev-C++/CourseBook/0205_MergeList/TestData_Head.txt create mode 100644 Dev-C++/CourseBook/0205_MergeList/TestData_Tail.txt create mode 100644 Dev-C++/CourseBook/0206_SLinkList/SLinkList-main.cpp create mode 100644 Dev-C++/CourseBook/0206_SLinkList/SLinkList.cpp create mode 100644 Dev-C++/CourseBook/0206_SLinkList/SLinkList.dev create mode 100644 Dev-C++/CourseBook/0206_SLinkList/SLinkList.h create mode 100644 Dev-C++/CourseBook/0207_Difference/Difference-main.cpp create mode 100644 Dev-C++/CourseBook/0207_Difference/Difference.cpp create mode 100644 Dev-C++/CourseBook/0207_Difference/Difference.dev create mode 100644 Dev-C++/CourseBook/0207_Difference/Difference.h create mode 100644 Dev-C++/CourseBook/0207_Difference/SLinkList.cpp create mode 100644 Dev-C++/CourseBook/0207_Difference/SLinkList.h create mode 100644 Dev-C++/CourseBook/0207_Difference/TestData.txt create mode 100644 Dev-C++/CourseBook/0208_DuLinkList/DuLinkList-main.cpp create mode 100644 Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.cpp create mode 100644 Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.dev create mode 100644 Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.h create mode 100644 Dev-C++/CourseBook/0209_ELinkList/ELinkList-main.cpp create mode 100644 Dev-C++/CourseBook/0209_ELinkList/ELinkList.cpp create mode 100644 Dev-C++/CourseBook/0209_ELinkList/ELinkList.dev create mode 100644 Dev-C++/CourseBook/0209_ELinkList/ELinkList.h create mode 100644 Dev-C++/CourseBook/0210_MergeEList/ELinkList.cpp create mode 100644 Dev-C++/CourseBook/0210_MergeEList/ELinkList.h create mode 100644 Dev-C++/CourseBook/0210_MergeEList/MergeEList-main.cpp create mode 100644 Dev-C++/CourseBook/0210_MergeEList/MergeEList.cpp create mode 100644 Dev-C++/CourseBook/0210_MergeEList/MergeEList.dev create mode 100644 Dev-C++/CourseBook/0210_MergeEList/MergeEList.h create mode 100644 Dev-C++/CourseBook/0210_MergeEList/TestData_La.txt create mode 100644 Dev-C++/CourseBook/0210_MergeEList/TestData_Lb.txt create mode 100644 Dev-C++/CourseBook/0211_Polynomial/ELinkList.cpp create mode 100644 Dev-C++/CourseBook/0211_Polynomial/ELinkList.h create mode 100644 Dev-C++/CourseBook/0211_Polynomial/Polynomial-main.cpp create mode 100644 Dev-C++/CourseBook/0211_Polynomial/Polynomial.cpp create mode 100644 Dev-C++/CourseBook/0211_Polynomial/Polynomial.dev create mode 100644 Dev-C++/CourseBook/0211_Polynomial/Polynomial.h create mode 100644 Dev-C++/CourseBook/0211_Polynomial/TestData_Pa.txt create mode 100644 Dev-C++/CourseBook/0211_Polynomial/TestData_Pb.txt create mode 100644 Dev-C++/ExerciseBook/01.16/01.16.cpp create mode 100644 Dev-C++/ExerciseBook/01.16/01.16.dev create mode 100644 Dev-C++/ExerciseBook/01.17/01.17.cpp create mode 100644 Dev-C++/ExerciseBook/01.17/01.17.dev create mode 100644 Dev-C++/ExerciseBook/01.19/01.19.cpp create mode 100644 Dev-C++/ExerciseBook/01.19/01.19.dev create mode 100644 Dev-C++/ExerciseBook/01.20/01.20.cpp create mode 100644 Dev-C++/ExerciseBook/01.20/01.20.dev create mode 100644 Dev-C++/ExerciseBook/02.10/02.10.cpp create mode 100644 Dev-C++/ExerciseBook/02.10/02.10.dev create mode 100644 Dev-C++/ExerciseBook/02.10/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.10/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.11/02.11.cpp create mode 100644 Dev-C++/ExerciseBook/02.11/02.11.dev create mode 100644 Dev-C++/ExerciseBook/02.11/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.11/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.12/02.12.cpp create mode 100644 Dev-C++/ExerciseBook/02.12/02.12.dev create mode 100644 Dev-C++/ExerciseBook/02.12/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.12/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.13/02.13.cpp create mode 100644 Dev-C++/ExerciseBook/02.13/02.13.dev create mode 100644 Dev-C++/ExerciseBook/02.13/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.13/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.14/02.14.cpp create mode 100644 Dev-C++/ExerciseBook/02.14/02.14.dev create mode 100644 Dev-C++/ExerciseBook/02.14/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.14/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.15/02.15.cpp create mode 100644 Dev-C++/ExerciseBook/02.15/02.15.dev create mode 100644 Dev-C++/ExerciseBook/02.15/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.15/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.cpp create mode 100644 Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.dev create mode 100644 Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.cpp create mode 100644 Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.dev create mode 100644 Dev-C++/ExerciseBook/02.19-02.20/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.19-02.20/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.21/02.21.cpp create mode 100644 Dev-C++/ExerciseBook/02.21/02.21.dev create mode 100644 Dev-C++/ExerciseBook/02.21/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.21/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.22/02.22.cpp create mode 100644 Dev-C++/ExerciseBook/02.22/02.22.dev create mode 100644 Dev-C++/ExerciseBook/02.22/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.22/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.23/02.23.cpp create mode 100644 Dev-C++/ExerciseBook/02.23/02.23.dev create mode 100644 Dev-C++/ExerciseBook/02.23/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.23/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.24/02.24.cpp create mode 100644 Dev-C++/ExerciseBook/02.24/02.24.dev create mode 100644 Dev-C++/ExerciseBook/02.24/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.24/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.25/02.25.cpp create mode 100644 Dev-C++/ExerciseBook/02.25/02.25.dev create mode 100644 Dev-C++/ExerciseBook/02.25/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.25/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.26/02.26.cpp create mode 100644 Dev-C++/ExerciseBook/02.26/02.26.dev create mode 100644 Dev-C++/ExerciseBook/02.26/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.26/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.27/02.27.cpp create mode 100644 Dev-C++/ExerciseBook/02.27/02.27.dev create mode 100644 Dev-C++/ExerciseBook/02.27/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.27/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.28/02.28.cpp create mode 100644 Dev-C++/ExerciseBook/02.28/02.28.dev create mode 100644 Dev-C++/ExerciseBook/02.28/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.28/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.29/02.29.cpp create mode 100644 Dev-C++/ExerciseBook/02.29/02.29.dev create mode 100644 Dev-C++/ExerciseBook/02.29/SqList.cpp create mode 100644 Dev-C++/ExerciseBook/02.29/SqList.h create mode 100644 Dev-C++/ExerciseBook/02.30/02.30.cpp create mode 100644 Dev-C++/ExerciseBook/02.30/02.30.dev create mode 100644 Dev-C++/ExerciseBook/02.30/LinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.30/LinkList.h create mode 100644 Dev-C++/ExerciseBook/02.31/02.31.cpp create mode 100644 Dev-C++/ExerciseBook/02.31/02.31.dev create mode 100644 Dev-C++/ExerciseBook/02.32/02.32.cpp create mode 100644 Dev-C++/ExerciseBook/02.32/02.32.dev create mode 100644 Dev-C++/ExerciseBook/02.33/02.33.cpp create mode 100644 Dev-C++/ExerciseBook/02.33/02.33.dev create mode 100644 Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.cpp create mode 100644 Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.dev create mode 100644 Dev-C++/ExerciseBook/02.37/02.37.cpp create mode 100644 Dev-C++/ExerciseBook/02.37/02.37.dev create mode 100644 Dev-C++/ExerciseBook/02.37/DuLinkList.cpp create mode 100644 Dev-C++/ExerciseBook/02.37/DuLinkList.h create mode 100644 Dev-C++/ExerciseBook/02.38/02.38.cpp create mode 100644 Dev-C++/ExerciseBook/02.38/02.38.dev create mode 100644 Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.cpp create mode 100644 Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.dev create mode 100644 Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.cpp create mode 100644 Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.dev create mode 100644 Dev-C++/Status/Status.a create mode 100644 Dev-C++/Status/Status.cpp create mode 100644 Dev-C++/Status/Status.dev create mode 100644 Dev-C++/Status/Status.h create mode 100644 Dev-C++/image/DEV00.png create mode 100644 Dev-C++/image/DEV01.png create mode 100644 Dev-C++/image/DEV02.png create mode 100644 Dev-C++/image/DEV03.png create mode 100644 Dev-C++/image/DEV04.png create mode 100644 Dev-C++/image/DEV05.png create mode 100644 Dev-C++/image/DEV06.png create mode 100644 Dev-C++/image/DEV07.png create mode 100644 Dev-C++/image/DEV08.png create mode 100644 Dev-C++/image/DEV09.png create mode 100644 VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj create mode 100644 VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.user create mode 100644 VisualC++/CourseBook/0201_SqList/SqList-main.c create mode 100644 VisualC++/CourseBook/0201_SqList/SqList.c create mode 100644 VisualC++/CourseBook/0201_SqList/SqList.h create mode 100644 VisualC++/CourseBook/0202_Union/0202_Union.vcxproj create mode 100644 VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.filters create mode 100644 VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.user create mode 100644 VisualC++/CourseBook/0202_Union/SqList.c create mode 100644 VisualC++/CourseBook/0202_Union/SqList.h create mode 100644 VisualC++/CourseBook/0202_Union/Union-main.c create mode 100644 VisualC++/CourseBook/0202_Union/Union.c create mode 100644 VisualC++/CourseBook/0202_Union/Union.h create mode 100644 VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj create mode 100644 VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.user create mode 100644 VisualC++/CourseBook/0203_MergeSqList/MergeSqList-main.c create mode 100644 VisualC++/CourseBook/0203_MergeSqList/MergeSqList.c create mode 100644 VisualC++/CourseBook/0203_MergeSqList/MergeSqList.h create mode 100644 VisualC++/CourseBook/0203_MergeSqList/SqList.c create mode 100644 VisualC++/CourseBook/0203_MergeSqList/SqList.h create mode 100644 VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj create mode 100644 VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.user create mode 100644 VisualC++/CourseBook/0204_LinkList/LinkList-main.c create mode 100644 VisualC++/CourseBook/0204_LinkList/LinkList.c create mode 100644 VisualC++/CourseBook/0204_LinkList/LinkList.h create mode 100644 VisualC++/CourseBook/0204_LinkList/TestData_Head.txt create mode 100644 VisualC++/CourseBook/0204_LinkList/TestData_Tail.txt create mode 100644 VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj create mode 100644 VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.user create mode 100644 VisualC++/CourseBook/0205_MergeList/LinkList.c create mode 100644 VisualC++/CourseBook/0205_MergeList/LinkList.h create mode 100644 VisualC++/CourseBook/0205_MergeList/MergeList-main.c create mode 100644 VisualC++/CourseBook/0205_MergeList/MergeList.c create mode 100644 VisualC++/CourseBook/0205_MergeList/MergeList.h create mode 100644 VisualC++/CourseBook/0205_MergeList/TestData_Head.txt create mode 100644 VisualC++/CourseBook/0205_MergeList/TestData_Tail.txt create mode 100644 VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj create mode 100644 VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.user create mode 100644 VisualC++/CourseBook/0206_SLinkList/SLinkList-main.c create mode 100644 VisualC++/CourseBook/0206_SLinkList/SLinkList.c create mode 100644 VisualC++/CourseBook/0206_SLinkList/SLinkList.h create mode 100644 VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj create mode 100644 VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.filters create mode 100644 VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.user create mode 100644 VisualC++/CourseBook/0207_Difference/Difference-main.c create mode 100644 VisualC++/CourseBook/0207_Difference/Difference.c create mode 100644 VisualC++/CourseBook/0207_Difference/Difference.h create mode 100644 VisualC++/CourseBook/0207_Difference/SLinkList.c create mode 100644 VisualC++/CourseBook/0207_Difference/SLinkList.h create mode 100644 VisualC++/CourseBook/0207_Difference/TestData.txt create mode 100644 VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj create mode 100644 VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.user create mode 100644 VisualC++/CourseBook/0208_DuLinkList/DuLinkList-main.c create mode 100644 VisualC++/CourseBook/0208_DuLinkList/DuLinkList.c create mode 100644 VisualC++/CourseBook/0208_DuLinkList/DuLinkList.h create mode 100644 VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj create mode 100644 VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.user create mode 100644 VisualC++/CourseBook/0209_ELinkList/ELinkList-main.c create mode 100644 VisualC++/CourseBook/0209_ELinkList/ELinkList.c create mode 100644 VisualC++/CourseBook/0209_ELinkList/ELinkList.h create mode 100644 VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj create mode 100644 VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.filters create mode 100644 VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.user create mode 100644 VisualC++/CourseBook/0210_MergeEList/ELinkList.c create mode 100644 VisualC++/CourseBook/0210_MergeEList/ELinkList.h create mode 100644 VisualC++/CourseBook/0210_MergeEList/MergeEList-main.c create mode 100644 VisualC++/CourseBook/0210_MergeEList/MergeEList.c create mode 100644 VisualC++/CourseBook/0210_MergeEList/MergeEList.h create mode 100644 VisualC++/CourseBook/0210_MergeEList/TestData_La.txt create mode 100644 VisualC++/CourseBook/0210_MergeEList/TestData_Lb.txt create mode 100644 VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj create mode 100644 VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.filters create mode 100644 VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.user create mode 100644 VisualC++/CourseBook/0211_Polynomial/ELinkList.c create mode 100644 VisualC++/CourseBook/0211_Polynomial/ELinkList.h create mode 100644 VisualC++/CourseBook/0211_Polynomial/Polynomial-main.c create mode 100644 VisualC++/CourseBook/0211_Polynomial/Polynomial.c create mode 100644 VisualC++/CourseBook/0211_Polynomial/Polynomial.h create mode 100644 VisualC++/CourseBook/0211_Polynomial/TestData_Pa.txt create mode 100644 VisualC++/CourseBook/0211_Polynomial/TestData_Pb.txt create mode 100644 VisualC++/CourseBook/CourseBook.sdf create mode 100644 VisualC++/CourseBook/CourseBook.sln create mode 100644 VisualC++/CourseBook/CourseBook.suo create mode 100644 VisualC++/ExerciseBook/01.16/01.16.c create mode 100644 VisualC++/ExerciseBook/01.16/01.16.vcxproj create mode 100644 VisualC++/ExerciseBook/01.16/01.16.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/01.16/01.16.vcxproj.user create mode 100644 VisualC++/ExerciseBook/01.17/01.17.c create mode 100644 VisualC++/ExerciseBook/01.17/01.17.vcxproj create mode 100644 VisualC++/ExerciseBook/01.17/01.17.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/01.17/01.17.vcxproj.user create mode 100644 VisualC++/ExerciseBook/01.19/01.19.c create mode 100644 VisualC++/ExerciseBook/01.19/01.19.vcxproj create mode 100644 VisualC++/ExerciseBook/01.19/01.19.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/01.19/01.19.vcxproj.user create mode 100644 VisualC++/ExerciseBook/01.20/01.20.c create mode 100644 VisualC++/ExerciseBook/01.20/01.20.vcxproj create mode 100644 VisualC++/ExerciseBook/01.20/01.20.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/01.20/01.20.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.10/02.10.c create mode 100644 VisualC++/ExerciseBook/02.10/02.10.vcxproj create mode 100644 VisualC++/ExerciseBook/02.10/02.10.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.10/02.10.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.10/SqList.c create mode 100644 VisualC++/ExerciseBook/02.10/SqList.h create mode 100644 VisualC++/ExerciseBook/02.11/02.11.c create mode 100644 VisualC++/ExerciseBook/02.11/02.11.vcxproj create mode 100644 VisualC++/ExerciseBook/02.11/02.11.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.11/02.11.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.11/SqList.c create mode 100644 VisualC++/ExerciseBook/02.11/SqList.h create mode 100644 VisualC++/ExerciseBook/02.12/02.12.c create mode 100644 VisualC++/ExerciseBook/02.12/02.12.vcxproj create mode 100644 VisualC++/ExerciseBook/02.12/02.12.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.12/02.12.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.12/SqList.c create mode 100644 VisualC++/ExerciseBook/02.12/SqList.h create mode 100644 VisualC++/ExerciseBook/02.13/02.13.c create mode 100644 VisualC++/ExerciseBook/02.13/02.13.vcxproj create mode 100644 VisualC++/ExerciseBook/02.13/02.13.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.13/02.13.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.13/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.13/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.14/02.14.c create mode 100644 VisualC++/ExerciseBook/02.14/02.14.vcxproj create mode 100644 VisualC++/ExerciseBook/02.14/02.14.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.14/02.14.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.14/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.14/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.15/02.15.c create mode 100644 VisualC++/ExerciseBook/02.15/02.15.vcxproj create mode 100644 VisualC++/ExerciseBook/02.15/02.15.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.15/02.15.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.15/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.15/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.c create mode 100644 VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj create mode 100644 VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.c create mode 100644 VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj create mode 100644 VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.19-02.20/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.19-02.20/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.21/02.21.c create mode 100644 VisualC++/ExerciseBook/02.21/02.21.vcxproj create mode 100644 VisualC++/ExerciseBook/02.21/02.21.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.21/02.21.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.21/SqList.c create mode 100644 VisualC++/ExerciseBook/02.21/SqList.h create mode 100644 VisualC++/ExerciseBook/02.22/02.22.c create mode 100644 VisualC++/ExerciseBook/02.22/02.22.vcxproj create mode 100644 VisualC++/ExerciseBook/02.22/02.22.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.22/02.22.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.22/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.22/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.23/02.23.c create mode 100644 VisualC++/ExerciseBook/02.23/02.23.vcxproj create mode 100644 VisualC++/ExerciseBook/02.23/02.23.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.23/02.23.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.23/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.23/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.24/02.24.c create mode 100644 VisualC++/ExerciseBook/02.24/02.24.vcxproj create mode 100644 VisualC++/ExerciseBook/02.24/02.24.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.24/02.24.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.24/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.24/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.25/02.25.c create mode 100644 VisualC++/ExerciseBook/02.25/02.25.vcxproj create mode 100644 VisualC++/ExerciseBook/02.25/02.25.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.25/02.25.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.25/SqList.c create mode 100644 VisualC++/ExerciseBook/02.25/SqList.h create mode 100644 VisualC++/ExerciseBook/02.26/02.26.c create mode 100644 VisualC++/ExerciseBook/02.26/02.26.vcxproj create mode 100644 VisualC++/ExerciseBook/02.26/02.26.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.26/02.26.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.26/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.26/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.27/02.27.c create mode 100644 VisualC++/ExerciseBook/02.27/02.27.vcxproj create mode 100644 VisualC++/ExerciseBook/02.27/02.27.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.27/02.27.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.27/SqList.c create mode 100644 VisualC++/ExerciseBook/02.27/SqList.h create mode 100644 VisualC++/ExerciseBook/02.28/02.28.c create mode 100644 VisualC++/ExerciseBook/02.28/02.28.vcxproj create mode 100644 VisualC++/ExerciseBook/02.28/02.28.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.28/02.28.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.28/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.28/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.29/02.29.c create mode 100644 VisualC++/ExerciseBook/02.29/02.29.vcxproj create mode 100644 VisualC++/ExerciseBook/02.29/02.29.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.29/02.29.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.29/SqList.c create mode 100644 VisualC++/ExerciseBook/02.29/SqList.h create mode 100644 VisualC++/ExerciseBook/02.30/02.30.c create mode 100644 VisualC++/ExerciseBook/02.30/02.30.vcxproj create mode 100644 VisualC++/ExerciseBook/02.30/02.30.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.30/02.30.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.30/LinkList.c create mode 100644 VisualC++/ExerciseBook/02.30/LinkList.h create mode 100644 VisualC++/ExerciseBook/02.31/02.31.c create mode 100644 VisualC++/ExerciseBook/02.31/02.31.vcxproj create mode 100644 VisualC++/ExerciseBook/02.31/02.31.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.31/02.31.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.32/02.32.c create mode 100644 VisualC++/ExerciseBook/02.32/02.32.vcxproj create mode 100644 VisualC++/ExerciseBook/02.32/02.32.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.32/02.32.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.33/02.33.c create mode 100644 VisualC++/ExerciseBook/02.33/02.33.vcxproj create mode 100644 VisualC++/ExerciseBook/02.33/02.33.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.33/02.33.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.c create mode 100644 VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj create mode 100644 VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.37/02.37.c create mode 100644 VisualC++/ExerciseBook/02.37/02.37.vcxproj create mode 100644 VisualC++/ExerciseBook/02.37/02.37.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.37/02.37.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.37/DuLinkList.c create mode 100644 VisualC++/ExerciseBook/02.37/DuLinkList.h create mode 100644 VisualC++/ExerciseBook/02.38/02.38.c create mode 100644 VisualC++/ExerciseBook/02.38/02.38.vcxproj create mode 100644 VisualC++/ExerciseBook/02.38/02.38.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.38/02.38.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.c create mode 100644 VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj create mode 100644 VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.user create mode 100644 VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.c create mode 100644 VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj create mode 100644 VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.filters create mode 100644 VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.user create mode 100644 VisualC++/ExerciseBook/ExerciseBook.sdf create mode 100644 VisualC++/ExerciseBook/ExerciseBook.sln create mode 100644 VisualC++/ExerciseBook/ExerciseBook.suo create mode 100644 VisualC++/Status/Status.c create mode 100644 VisualC++/Status/Status.h create mode 100644 VisualC++/Status/Status.lib create mode 100644 VisualC++/Status/Status.sdf create mode 100644 VisualC++/Status/Status.sln create mode 100644 VisualC++/Status/Status.suo create mode 100644 VisualC++/Status/Status.vcxproj create mode 100644 VisualC++/Status/Status.vcxproj.filters create mode 100644 VisualC++/Status/Status.vcxproj.user create mode 100644 VisualC++/image/VC01.png create mode 100644 VisualC++/image/VC02.png create mode 100644 VisualC++/image/VC03.png create mode 100644 VisualC++/image/VC04.png create mode 100644 VisualC++/image/VC05.png create mode 100644 习题解析/01 绪论/_v_images/20181124235559962_1540.png create mode 100644 习题解析/01 绪论/_v_images/20181124235659821_31062.png create mode 100644 习题解析/01 绪论/_v_images/20181124235736015_5587.png create mode 100644 习题解析/01 绪论/_v_images/20181124235749817_29555.png create mode 100644 习题解析/01 绪论/_v_images/20181125001012797_15869.png create mode 100644 习题解析/01 绪论/_v_images/20181125001057524_32274.png create mode 100644 习题解析/01 绪论/_v_images/20181125001138318_16618.png create mode 100644 习题解析/01 绪论/_v_images/20181125002335576_8701.png create mode 100644 习题解析/01 绪论/_v_images/20181125002344865_51.png create mode 100644 习题解析/01 绪论/_v_images/20181125003217769_19055.png create mode 100644 习题解析/01 绪论/_v_images/20181125003411487_11601.png create mode 100644 习题解析/01 绪论/_v_images/20181125003506946_12124.png create mode 100644 习题解析/01 绪论/_v_images/20181125003527776_6872.png create mode 100644 习题解析/01 绪论/_v_images/20181125003543569_28283.png create mode 100644 习题解析/01 绪论/_v_images/20181125003604248_12415.png create mode 100644 习题解析/01 绪论/_v_images/20181125003616918_30233.png create mode 100644 习题解析/01 绪论/_v_images/20181125004220502_31495.png create mode 100644 习题解析/01 绪论/第01章 绪论.md create mode 100644 习题解析/02 线性表/_v_images/20181125013824965_16208.png create mode 100644 习题解析/02 线性表/_v_images/20181125014137666_10327.png create mode 100644 习题解析/02 线性表/_v_images/20181125014156819_4098.png create mode 100644 习题解析/02 线性表/_v_images/20181125014215622_10158.png create mode 100644 习题解析/02 线性表/_v_images/20181125014234236_4049.png create mode 100644 习题解析/02 线性表/_v_images/20181125014248274_14430.png create mode 100644 习题解析/02 线性表/_v_images/20181125014311773_4232.png create mode 100644 习题解析/02 线性表/_v_images/20181125014323122_29833.png create mode 100644 习题解析/02 线性表/_v_images/20181125014418601_7477.png create mode 100644 习题解析/02 线性表/_v_images/20181125014438821_5785.png create mode 100644 习题解析/02 线性表/_v_images/20181125014451902_15334.png create mode 100644 习题解析/02 线性表/_v_images/20181125014506111_5250.png create mode 100644 习题解析/02 线性表/_v_images/20181125021743781_1329.png create mode 100644 习题解析/02 线性表/_v_images/20181125021828395_8351.png create mode 100644 习题解析/02 线性表/_v_images/20181125021843504_17730.png create mode 100644 习题解析/02 线性表/_v_images/20181125021854448_14854.png create mode 100644 习题解析/02 线性表/_v_images/20181125021917117_7519.png create mode 100644 习题解析/02 线性表/_v_images/20181125021939528_12633.png create mode 100644 习题解析/02 线性表/_v_images/20181125022000822_29327.png create mode 100644 习题解析/02 线性表/_v_images/20181125022414116_20977.png create mode 100644 习题解析/02 线性表/_v_images/20181125022508237_15214.png create mode 100644 习题解析/02 线性表/第02章 线性表.md diff --git a/CLion/CMakeLists.txt b/CLion/CMakeLists.txt new file mode 100644 index 0000000..c13f801 --- /dev/null +++ b/CLion/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.14) +project(CLion C) + +set(CMAKE_C_STANDARD 90) + +add_subdirectory(Status) +add_subdirectory(CourseBook) +add_subdirectory(ExerciseBook) diff --git a/CLion/CourseBook/0201_SqList/CMakeLists.txt b/CLion/CourseBook/0201_SqList/CMakeLists.txt new file mode 100644 index 0000000..33ea50a --- /dev/null +++ b/CLion/CourseBook/0201_SqList/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(SqList SqList.h SqList.c SqList-main.c) +# 链接公共库 +target_link_libraries(SqList Scanf_lib) diff --git a/CLion/CourseBook/0201_SqList/SqList-main.c b/CLion/CourseBook/0201_SqList/SqList-main.c new file mode 100644 index 0000000..e61e920 --- /dev/null +++ b/CLion/CourseBook/0201_SqList/SqList-main.c @@ -0,0 +1,170 @@ +#include +#include "SqList.h" //**02 线性表**// + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SqList L; // 待操作的顺序表 + + int i; + ElemType e; + + printf("████████ InitList \n"); + { + printf("█ 初始化顺序表 L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf("████████ ListEmpty \n"); + { + if(ListEmpty(L) == TRUE) { + printf("█ L 为空!!\n"); + } else { + printf("█ L 不为空!\n"); + } + } + PressEnterToContinue(); + + + printf("████████ ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf("█ 作为示范,在 L 第 %d 个位置插入 \"%d\"...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf("████████ ListTraverse \n"); + { + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ListLength \n"); + { + i = ListLength(L); + printf("█ L 的长度为 %d \n", i); + } + PressEnterToContinue(); + + + printf("████████ ListDelete \n"); + { + printf("█ 删除前的元素:L = "); + ListTraverse(L, PrintElem); + + printf("█ 尝试删除 L 中第 6 个元素...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf("█ 删除成功,被删除元素是:\"%d\"\n", e); + } else { + printf("█ 删除失败,第 6 个元素不存在!\n"); + } + + printf("█ 删除后的元素:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ GetElem \n"); + { + GetElem(L, 4, &e); + printf("█ L 中第 4 个位置的元素为 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + printf("█ L 中第一个元素值大于 \"7\" 的元素是 \"%d\" \n", L.elem[i - 1]); + } + PressEnterToContinue(); + + + printf("████████ PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的前驱为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的前驱不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的后继为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的后继不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ ClearList \n"); + { + printf("█ 清空 L 前:"); + if(ListEmpty(L) == TRUE) { + printf(" L 为空!!\n"); + } else { + printf(" L 不为空!\n"); + } + + ClearList(&L); + + printf("█ 清空 L 后:"); + if(ListEmpty(L) == TRUE) { + printf(" L 为空!!\n"); + } else { + printf(" L 不为空!\n"); + } + } + PressEnterToContinue(); + + + printf("████████ DestroyList \n"); + { + printf("█ 销毁 L 前:"); + if(L.elem != NULL) { + printf(" L 存在!\n"); + } else { + printf(" L 不存在!!\n"); + } + + DestroyList(&L); + + printf("█ 销毁 L 后:"); + if(L.elem != NULL) { + printf(" L 存在!\n"); + } else { + printf(" L 不存在!!\n"); + } + } + PressEnterToContinue(); + + + return 0; +} diff --git a/CLion/CourseBook/0201_SqList/SqList.c b/CLion/CourseBook/0201_SqList/SqList.c new file mode 100644 index 0000000..df834a4 --- /dev/null +++ b/CLion/CourseBook/0201_SqList/SqList.c @@ -0,0 +1,337 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * 销毁(结构) + * + * 释放顺序表所占内存。 + */ +Status DestroyList(SqList* L) { + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // 释放顺序表内存 + free((*L).elem); + + // 释放内存后置空指针 + (*L).elem = NULL; + + // 顺序表长度跟容量都归零 + (*L).length = 0; + (*L).listsize = 0; + + return OK; +} + +/* + * 置空(内容) + * + * 只是清理顺序表中存储的数据,不释放顺序表所占内存。 + */ +Status ClearList(SqList* L) { + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + (*L).length = 0; + + return OK; +} + +/* + * 判空 + * + * 判断顺序表中是否包含有效数据。 + * + * 返回值: + * TRUE : 顺序表为空 + * FALSE: 顺序表不为空 + */ +Status ListEmpty(SqList L) { + return L.length == 0 ? TRUE : FALSE; +} + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e) { + // 因为i的含义是位置,所以其合法范围是:[1, length] + if(i < 1 || i > L.length) { + return ERROR; //i值不合法 + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // 确保顺序表结构存在 + if(L.elem == NULL) { + return ERROR; + } + + /* + * i的初值为第1个元素的位序 + * + * 其实,更自然的写法是将i初始化为第1个元素的索引 + * 但由于教材中是按位序计数的,所以这里仍写作位序 + */ + i = 1; + + // p的初值为第1个元素的存储位置 + p = L.elem; + + // 遍历顺序表 + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e) { + int i; + + // 确保顺序表结构存在,且最少包含两个元素 + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // 这里的i初始化为第1个元素的【索引】 + i = 0; + + // 从第1个元素开始,查找cur_e的位置 + while(i < L.length && L.elem[i] != cur_e) { + ++i; + } + + // 如果cur_e是首个元素(没有前驱),或者没找到元素cur_e,返回ERROR + if(i==0 || i >= L.length) { + return ERROR; + } + + // 存储cur_e的前驱 + *pre_e = L.elem[i - 1]; + + return OK; +} + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e) { + int i; + + // 确保顺序表结构存在,且最少包含两个元素 + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // 这里的i初始化为第1个元素的【索引】 + i = 0; + + // 从第1个元素开始,查找cur_e的位置 + while(i < L.length-1 && L.elem[i] != cur_e) { + ++i; + } + + // 如果cur_e是最后1个元素(没有前驱),或者没找到元素cur_e,返回ERROR + if(i >= L.length-1) { + return ERROR; + } + + // 存储cur_e的前驱 + *next_e = L.elem[i + 1]; + + return OK; +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * ████████ 算法2.5 ████████ + * + * 删除 + * + * 删除顺序表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(SqList* L, int i, ElemType* e) { + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length) { + return ERROR; + } + + // p为被删除元素的位置 + p = &(*L).elem[i - 1]; + + // 1.获取被删除元素 + *e = *p; + + // 表尾元素位置 + q = (*L).elem + (*L).length - 1; + + // 2.左移元素,被删除元素的位置上会有新元素进来 + for(++p; p <= q; ++p) { + *(p - 1) = *p; + } + + // 3.表长减1 + (*L).length--; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/CourseBook/0201_SqList/SqList.h b/CLion/CourseBook/0201_SqList/SqList.h new file mode 100644 index 0000000..931ddab --- /dev/null +++ b/CLion/CourseBook/0201_SqList/SqList.h @@ -0,0 +1,149 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * 销毁(结构) + * + * 释放顺序表所占内存。 + */ +Status DestroyList(SqList* L); + +/* + * 置空(内容) + * + * 只是清理顺序表中存储的数据,不释放顺序表所占内存。 + */ +Status ClearList(SqList* L); + +/* + * 判空 + * + * 判断顺序表中是否包含有效数据。 + * + * 返回值: + * TRUE : 顺序表为空 + * FALSE: 顺序表不为空 + */ +Status ListEmpty(SqList L); + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L); + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e); + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * ████████ 算法2.5 ████████ + * + * 删除 + * + * 删除顺序表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(SqList* L, int i, ElemType* e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/CourseBook/0202_Union/CMakeLists.txt b/CLion/CourseBook/0202_Union/CMakeLists.txt new file mode 100644 index 0000000..b4fea5e --- /dev/null +++ b/CLion/CourseBook/0202_Union/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(Union SqList.h SqList.c Union.h Union.c Union-main.c) +# 链接公共库 +target_link_libraries(Union Scanf_lib) \ No newline at end of file diff --git a/CLion/CourseBook/0202_Union/SqList.c b/CLion/CourseBook/0202_Union/SqList.c new file mode 100644 index 0000000..c8c51f4 --- /dev/null +++ b/CLion/CourseBook/0202_Union/SqList.c @@ -0,0 +1,172 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e) { + // 因为i的含义是位置,所以其合法范围是:[1, length] + if(i < 1 || i > L.length) { + return ERROR; //i值不合法 + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // 确保顺序表结构存在 + if(L.elem == NULL) { + return ERROR; + } + + /* + * i的初值为第1个元素的位序 + * + * 其实,更自然的写法是将i初始化为第1个元素的索引 + * 但由于教材中是按位序计数的,所以这里仍写作位序 + */ + i = 1; + + // p的初值为第1个元素的存储位置 + p = L.elem; + + // 遍历顺序表 + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/CourseBook/0202_Union/SqList.h b/CLion/CourseBook/0202_Union/SqList.h new file mode 100644 index 0000000..a640ba6 --- /dev/null +++ b/CLion/CourseBook/0202_Union/SqList.h @@ -0,0 +1,93 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L); + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/CourseBook/0202_Union/Union-main.c b/CLion/CourseBook/0202_Union/Union-main.c new file mode 100644 index 0000000..e366224 --- /dev/null +++ b/CLion/CourseBook/0202_Union/Union-main.c @@ -0,0 +1,43 @@ +#include +#include "Union.h" //**▲02 线性表**// +#include "SqList.h" //**▲02 线性表**// + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[5] = {5, 2, 1, 3, 9}; + ElemType b[7] = {7, 2, 6, 9, 11, 3, 10}; + SqList La, Lb; + int i; + + // 初始化La + InitList(&La); + for(i = 1; i <= 5; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // 初始化Lb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // 输出La + printf("La = "); + ListTraverse(La, PrintElem); + + // 输出Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 输出新表La的内容 + printf("La = La∪Lb = "); + Union(&La, Lb); + ListTraverse(La, PrintElem); + + return 0; +} diff --git a/CLion/CourseBook/0202_Union/Union.c b/CLion/CourseBook/0202_Union/Union.c new file mode 100644 index 0000000..1e467d4 --- /dev/null +++ b/CLion/CourseBook/0202_Union/Union.c @@ -0,0 +1,45 @@ +/*============== + * 求并集 + * + * 包含算法: 2.1 + ===============*/ + +#include "Union.h" //**▲02 线性表**// + +/* + * ████████ 算法2.1 ████████ + * + * A=A∪B + * + * 计算La与Lb的并集并返回。 + * 由于生成的并集会拼接在La上,所以La的入参为指针类型。 + */ +void Union(SqList* La, SqList Lb) { + int La_len, Lb_len; + int i; + ElemType e; + + // 求顺序表长度 + La_len = ListLength(*La); + Lb_len = ListLength(Lb); + + for(i = 1; i <= Lb_len; i++) { + // 取Lb中第i个元素赋给e + GetElem(Lb, i, &e); + + // 若e不在La中则插入 + if(!LocateElem(*La, e, equal)) { + ListInsert(La, ++La_len, e); + } + } +} + +/* + * 判等 + * + * 判断两元素是否相等。 + * 如果相等,则返回TRUE,否则,返回FALSE。 + */ +Status equal(ElemType e1, ElemType e2) { + return e1 == e2 ? TRUE : FALSE; +} diff --git a/CLion/CourseBook/0202_Union/Union.h b/CLion/CourseBook/0202_Union/Union.h new file mode 100644 index 0000000..1000f6a --- /dev/null +++ b/CLion/CourseBook/0202_Union/Union.h @@ -0,0 +1,33 @@ +/*============== + * 求并集 + * + * 包含算法: 2.1 + ===============*/ + +#ifndef UNION_H +#define UNION_H + +#include +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + + +/* + * ████████ 算法2.1 ████████ + * + * A=A∪B + * + * 计算La与Lb的并集并返回。 + * 由于生成的并集会拼接在La上,所以La的入参为指针类型。 + */ +void Union(SqList* La, SqList Lb); + +/* + * 判等 + * + * 判断两元素是否相等。 + * 如果相等,则返回TRUE,否则,返回FALSE。 + */ +Status equal(ElemType e1, ElemType e2); + +#endif diff --git a/CLion/CourseBook/0203_MergeSqList/CMakeLists.txt b/CLion/CourseBook/0203_MergeSqList/CMakeLists.txt new file mode 100644 index 0000000..a433255 --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(MergeSqList SqList.h SqList.c MergeSqList.h MergeSqList.c MergeSqList-main.c) +# 链接公共库 +target_link_libraries(MergeSqList Scanf_lib) \ No newline at end of file diff --git a/CLion/CourseBook/0203_MergeSqList/MergeSqList-main.c b/CLion/CourseBook/0203_MergeSqList/MergeSqList-main.c new file mode 100644 index 0000000..ef9cb54 --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/MergeSqList-main.c @@ -0,0 +1,49 @@ +#include +#include "SqList.h" +#include "MergeSqList.h" //**▲02 线性表**// + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[4] = {3, 5, 8, 11}; + ElemType b[7] = {2, 6, 8, 9, 11, 15, 20}; + + SqList La, Lb, Lc1, Lc2; + int i; + + // 初始化La + InitList(&La); + for(i = 1; i <= 4; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // 初始化Lb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // 输出La + printf("La = "); + ListTraverse(La, PrintElem); + + // 输出Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 归并顺序表La和Lb,算法2.2 + MergeSqList_1(La, Lb, &Lc1); + printf("归并La和Lb为Lc1 = "); + ListTraverse(Lc1, PrintElem); + + // 归并顺序表La和Lb,算法2.7 + MergeSqList_2(La, Lb, &Lc2); + printf("归并La和Lb为Lc2 = "); + ListTraverse(Lc2, PrintElem); + + return 0; +} diff --git a/CLion/CourseBook/0203_MergeSqList/MergeSqList.c b/CLion/CourseBook/0203_MergeSqList/MergeSqList.c new file mode 100644 index 0000000..62e59a7 --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/MergeSqList.c @@ -0,0 +1,104 @@ +/*================== + * 归并非降序顺序表 + * + * 包含算法: 2.2、2.7 + ===================*/ + +#include "MergeSqList.h" //**▲02 线性表**// + + +/* + * ████████ 算法2.2 ████████ + * + * 非递减链表归并:C=A+B + * + * 归并顺序表La和Lb,生成新的顺序表Lc。 + * 其中,La、Lb、Lc均为非递减序列。 + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc) { + int La_len, Lb_len; + int i, j, k; + ElemType ai, bj; + + i = j = 1; + k = 0; + + // 初始化Lc + InitList(Lc); + + // 获取La、Lb的长度 + La_len = ListLength(La); + Lb_len = ListLength(Lb); + + // 如果La及Lb均未遍历完 + while(i <= La_len && j <= Lb_len) { + GetElem(La, i, &ai); + GetElem(Lb, j, &bj); + + // 比较遍历到的元素,先将比较小的元素加入顺序表Lc + if(ai <= bj) { + ListInsert(Lc, ++k, ai); + i++; + } else { + ListInsert(Lc, ++k, bj); + j++; + } + } + + // 如果Lb已遍历完,但La还未遍历完,将La中剩余元素加入Lc + while(i <= La_len) { + GetElem(La, i++, &ai); + ListInsert(Lc, ++k, ai); + } + + // 如果La已遍历完,但Lb还未遍历完,将Lb中剩余元素加入Lc + while(j <= Lb_len) { + GetElem(Lb, j++, &bj); + ListInsert(Lc, ++k, bj); + } +} + +/* + * ████████ 算法2.7 ████████ + * + * 非递减链表归并:C=A+B + * + * 归并顺序表La和Lb,生成新的顺序表Lc。 + * 其中,La、Lb、Lc均为非递减序列。 + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc) { + ElemType* pa, * pb, * pc; + ElemType* pa_last, * pb_last; + + pa = La.elem; // 指向La第一个元素 + pb = Lb.elem; // 指向Lb第一个元素 + + // 没有使用InitList创建Lc + (*Lc).listsize = (*Lc).length = La.length + Lb.length; + pc = (*Lc).elem = (ElemType*) malloc((*Lc).listsize * sizeof(ElemType)); + if(pc == NULL) { + exit(OVERFLOW); + } + + pa_last = La.elem + La.length - 1; // 指向La最后一个元素 + pb_last = Lb.elem + Lb.length - 1; // 指向Lb最后一个元素 + + // 如果La及Lb均未遍历完 + while(pa <= pa_last && pb <= pb_last) { + if(*pa <= *pb) { + *pc++ = *pa++; + } else { + *pc++ = *pb++; + } + } + + // 如果Lb已遍历完,但La还未遍历完,将La中剩余元素加入Lc + while(pa <= pa_last) { + *pc++ = *pa++; + } + + // 如果La已遍历完,但Lb还未遍历完,将Lb中剩余元素加入Lc + while(pb <= pb_last) { + *pc++ = *pb++; + } +} \ No newline at end of file diff --git a/CLion/CourseBook/0203_MergeSqList/MergeSqList.h b/CLion/CourseBook/0203_MergeSqList/MergeSqList.h new file mode 100644 index 0000000..2943778 --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/MergeSqList.h @@ -0,0 +1,35 @@ +/*================== + * 归并非降序顺序表 + * + * 包含算法: 2.2、2.7 + ===================*/ + +#ifndef MERGESQLIST_H +#define MERGESQLIST_H + +#include +#include +#include "SqList.h" //**▲02 线性表**// + + +/* + * ████████ 算法2.2 ████████ + * + * 非递减链表归并:C=A+B + * + * 归并顺序表La和Lb,生成新的顺序表Lc。 + * 其中,La、Lb、Lc均为非递减序列。 + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc); + +/* + * ████████ 算法2.7 ████████ + * + * 非递减链表归并:C=A+B + * + * 归并顺序表La和Lb,生成新的顺序表Lc。 + * 其中,La、Lb、Lc均为非递减序列。 + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc); + +#endif diff --git a/CLion/CourseBook/0203_MergeSqList/SqList.c b/CLion/CourseBook/0203_MergeSqList/SqList.c new file mode 100644 index 0000000..8d465c3 --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/SqList.c @@ -0,0 +1,129 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e) { + // 因为i的含义是位置,所以其合法范围是:[1, length] + if(i < 1 || i > L.length) { + return ERROR; //i值不合法 + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/CourseBook/0203_MergeSqList/SqList.h b/CLion/CourseBook/0203_MergeSqList/SqList.h new file mode 100644 index 0000000..52fb14d --- /dev/null +++ b/CLion/CourseBook/0203_MergeSqList/SqList.h @@ -0,0 +1,80 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * 计数 + * + * 返回顺序表包含的有效元素的数量。 + */ +int ListLength(SqList L); + +/* + * 取值 + * + * 获取顺序表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/CourseBook/0204_LinkList/CMakeLists.txt b/CLion/CourseBook/0204_LinkList/CMakeLists.txt new file mode 100644 index 0000000..1328cfe --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/CMakeLists.txt @@ -0,0 +1,12 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(LinkedList LinkList.h LinkList.c LinkList-main.c) +# 链接公共库 +target_link_libraries(LinkedList Scanf_lib) + +# 记录要拷贝到*.exe目录下的资源文件 +file(GLOB TestData TestData*.txt) +# 将资源文件拷贝到*.exe目录下,不然无法加载 +file(COPY ${TestData} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/CLion/CourseBook/0204_LinkList/LinkList-main.c b/CLion/CourseBook/0204_LinkList/LinkList-main.c new file mode 100644 index 0000000..c991473 --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/LinkList-main.c @@ -0,0 +1,170 @@ +#include +#include "Status.h" +#include "LinkList.h" //**▲02 线性表**// + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList L; + int i; + ElemType e; + + printf("████████ InitList \n"); + { + printf("█ 初始化单链表 L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf("████████ ListEmpty \n"); + { + ListEmpty(L) ? printf("█ L 为空!!\n") : printf("█ L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf("█ 在 L 第 %d 个位置插入 \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf("████████ ListTraverse \n"); + { + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ListLength \n"); + { + printf("█ L 的长度为 %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf("████████ ListDelete \n"); + { + printf("█ 删除前的元素:L = "); + ListTraverse(L, PrintElem); + + printf("█ 尝试删除 L 中第 6 个元素...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf("█ 删除成功,被删除元素是:\"%d\"\n", e); + } else { + printf("█ 删除失败,第 6 个元素不存在!\n"); + } + + printf("█ 删除后的元素:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ GetElem \n"); + { + GetElem(L, 4, &e); + printf("█ L 中第 4 个位置的元素为 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf("█ L 中第一个元素值大于 \"7\" 的元素是 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的前驱为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的前驱不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的后继为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的后继不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ ClearList \n"); + { + printf("█ 清空 L 前:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + + ClearList(L); + + printf("█ 清空 L 后:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ DestroyList \n"); + { + printf("█ 销毁 L 前:"); + L ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + + DestroyList(&L); + + printf("█ 销毁 L 后:"); + L ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + } + PressEnterToContinue(); + + + printf("████████ CreateList_Head \n"); + { + LinkList L; + printf("█ 头插法建立单链表 L = "); + CreateList_Head("TestData_Head.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ CreateList_Tail \n"); + { + LinkList L; + printf("█ 尾插法建立单链表 L = "); + CreateList_Tail("TestData_Tail.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/CLion/CourseBook/0204_LinkList/LinkList.c b/CLion/CourseBook/0204_LinkList/LinkList.c new file mode 100644 index 0000000..276c17e --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/LinkList.c @@ -0,0 +1,488 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 销毁(结构) + * + * 释放链表所占内存,头结点也会被清理。 + */ +Status DestroyList(LinkList* L) { + LinkList p; + + // 确保链表结构存在 + if(L == NULL || *L == NULL) { + return ERROR; + } + + p = *L; + + while(p != NULL) { + p = (*L)->next; + free(*L); + (*L) = p; + } + + *L = NULL; + + return OK; +} + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(LinkList L) { + LinkList pre, p; + + // 确保链表存在 + if(L == NULL) { + return ERROR; + } + + p = L->next; + + // 释放链表上所有结点所占内存 + while(p != NULL) { + pre = p; + p = p->next; + free(pre); + } + + L->next = NULL; + + return OK; +} + +/* + * 判空 + * + * 判断链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 链表为空 + * FALSE: 链表不为空 + */ +Status ListEmpty(LinkList L) { + // 链表只有头结点时,认为该链表为空 + if(L != NULL && L->next == NULL) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // 遍历所有结点 + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * ████████ 算法2.8 ████████ + * + * 取值 + * + * 获取链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(LinkList L, int i, ElemType* e) { + LinkList p; + int j; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点的后继不为NULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // i的初值为第1个元素的位序 + p = L->next; // p的初值为第1个元素的指针 + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e) { + LinkList pre, next; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // 指向第1个元素 + pre = L->next; + + // 第1个元素没有前驱 + if(pre->data == cur_e) { + return ERROR; + } + + // 指向第2个元素 + next = pre->next; + + // 从第2个元素开始,查找cur_e的位置 + while(next != NULL && next->data != cur_e) { + pre = next; + next = next->next; + } + + // 如果没找到元素cur_e,查找失败,返回ERROR + if(next == NULL) { + return ERROR; + } + + *pre_e = pre->data; + + return OK; +} + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e) { + LinkList pre; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // 指向第1个元素 + pre = L->next; + + // 从第1个元素开始,查找cur_e的位置,且保证该结点的后继不为NULL + while(pre->next != NULL && pre->data != cur_e) { + pre = pre->next; + } + + // 如果没找到cur_e,或者找到了,但它没有后继,均返回ERROR + if(pre->next == NULL) { + return ERROR; + } + + *next_e = pre->next->data; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * ████████ 算法2.10 ████████ + * + * 删除 + * + * 删除链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(LinkList L, int i, ElemType* e) { + LinkList p, q; + int j; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点的后继不为NULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + // 删除第i个结点 + q = p->next; + p->next = q->next; + *e = q->data; + free(q); + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ████████ 算法2.11 ████████ + * + * 头插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + * 另教材中的算法采用的是头插法,所以此处的实现加了后缀_Head。 + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // 建立头结点 + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // 如果成功读取到输入数据 + if(ReadData(fp, "%d", &e) == 1) { + // 生成新结点 + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // 填充数据,并插入到链表中 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * 尾插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // 建立头结点 + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // 如果成功读取到输入数据 + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // 填充数据,并插入到链表中 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/CLion/CourseBook/0204_LinkList/LinkList.h b/CLion/CourseBook/0204_LinkList/LinkList.h new file mode 100644 index 0000000..3b54db4 --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/LinkList.h @@ -0,0 +1,168 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * 销毁(结构) + * + * 释放链表所占内存。 + */ +Status DestroyList(LinkList* L); + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(LinkList L); + +/* + * 判空 + * + * 判断链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 链表为空 + * FALSE: 链表不为空 + */ +Status ListEmpty(LinkList L); + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(LinkList L); + +/* + * ████████ 算法2.8 ████████ + * + * 取值 + * + * 获取链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(LinkList L, int i, ElemType* e); + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * ████████ 算法2.10 ████████ + * + * 删除 + * + * 删除链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(LinkList L, int i, ElemType* e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * ████████ 算法2.11 ████████ + * + * 头插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + * 另教材中的算法采用的是头插法,所以此处的实现加了后缀_Head。 + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * 尾插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据 + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/CLion/CourseBook/0204_LinkList/TestData_Head.txt b/CLion/CourseBook/0204_LinkList/TestData_Head.txt new file mode 100644 index 0000000..d2603c8 --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/TestData_Head.txt @@ -0,0 +1 @@ +降序:9 7 5 3 1 \ No newline at end of file diff --git a/CLion/CourseBook/0204_LinkList/TestData_Tail.txt b/CLion/CourseBook/0204_LinkList/TestData_Tail.txt new file mode 100644 index 0000000..e033dd7 --- /dev/null +++ b/CLion/CourseBook/0204_LinkList/TestData_Tail.txt @@ -0,0 +1 @@ +升序:2 4 6 8 10 \ No newline at end of file diff --git a/CLion/CourseBook/0205_MergeList/CMakeLists.txt b/CLion/CourseBook/0205_MergeList/CMakeLists.txt new file mode 100644 index 0000000..4aca526 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/CMakeLists.txt @@ -0,0 +1,12 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(MergeList LinkList.h LinkList.c MergeList.h MergeList.c MergeList-main.c) +# 链接公共库 +target_link_libraries(MergeList Scanf_lib) + +# 记录要拷贝到*.exe目录下的资源文件 +file(GLOB TestData TestData*.txt) +# 将资源文件拷贝到*.exe目录下,不然无法加载 +file(COPY ${TestData} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/CLion/CourseBook/0205_MergeList/LinkList.c b/CLion/CourseBook/0205_MergeList/LinkList.c new file mode 100644 index 0000000..11c3c2a --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/LinkList.c @@ -0,0 +1,138 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ████████ 算法2.11 ████████ + * + * 头插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + * 另教材中的算法采用的是头插法,所以此处的实现加了后缀_Head。 + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // 建立头结点 + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // 如果成功读取到输入数据 + if(ReadData(fp, "%d", &e) == 1) { + // 生成新结点 + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // 填充数据,并插入到链表中 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * 尾插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // 建立头结点 + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // 如果成功读取到输入数据 + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // 填充数据,并插入到链表中 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/CLion/CourseBook/0205_MergeList/LinkList.h b/CLion/CourseBook/0205_MergeList/LinkList.h new file mode 100644 index 0000000..35ff256 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/LinkList.h @@ -0,0 +1,61 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * ████████ 算法2.11 ████████ + * + * 头插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + * 另教材中的算法采用的是头插法,所以此处的实现加了后缀_Head。 + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * 尾插法创建链表 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据 + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/CLion/CourseBook/0205_MergeList/MergeList-main.c b/CLion/CourseBook/0205_MergeList/MergeList-main.c new file mode 100644 index 0000000..cb1a203 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/MergeList-main.c @@ -0,0 +1,31 @@ +#include +#include "MergeList.h" //**▲02 线性表**// + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList La, Lb, Lc; + + int m = 5; + + printf("作为示例,La长度设定为 %d ,Lb长度设定为 %d ,创建La和Lb...\n", m, m); + + CreateList_Head("TestData_Head.txt", &La, m); + printf("La = "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Tail.txt", &Lb, m); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + printf("归并La和Lb为Lc = "); + MergeList(&La, &Lb, &Lc); + ListTraverse(Lc, PrintElem); + + return 0; +} + diff --git a/CLion/CourseBook/0205_MergeList/MergeList.c b/CLion/CourseBook/0205_MergeList/MergeList.c new file mode 100644 index 0000000..887995f --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/MergeList.c @@ -0,0 +1,45 @@ +/*=============== + * 归并非降序链表 + * + * 包含算法: 2.12 + ================*/ + +#include "MergeList.h" //**▲02 线性表**// + +/* + * ████████ 算法2.12 ████████ + * + * 非递减链表归并:C=A+B + * + * 将链表A和B归并为C,且保持元素相对位置不变。 + * Lc利用La的头结点,Lb中结点均插入新链表Lc中。 + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc) { + LinkList pa, pb, pc; + + pa = (*La)->next; + pb = (*Lb)->next; + pc = *Lc = *La; // 用La的头结点作为Lc的头结点 + + // 遍历La和Lb + while(pa && pb) { + if(pa->data <= pb->data) { + pc->next = pa; + pc = pa; + pa = pa->next; + } else { + pc->next = pb; + pc = pb; + pb = pb->next; + } + } + + // 插入剩余段 + pc->next = pa ? pa : pb; + + // 释放Lb的头结点所占内存 + free(*Lb); + + *La = NULL; + *Lb = NULL; +} diff --git a/CLion/CourseBook/0205_MergeList/MergeList.h b/CLion/CourseBook/0205_MergeList/MergeList.h new file mode 100644 index 0000000..1d6c876 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/MergeList.h @@ -0,0 +1,24 @@ +/*=============== + * 归并非降序链表 + * + * 包含算法: 2.12 + ================*/ + +#ifndef MERGELIST_H +#define MERGELIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "LinkList.h" //**▲02 线性表**// + +/* + * ████████ 算法2.12 ████████ + * + * 非递减链表归并:C=A+B + * + * 将链表A和B归并为C,且保持元素相对位置不变。 + * Lc利用La的头结点,Lb中结点均插入新链表Lc中。 + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc); + +#endif diff --git a/CLion/CourseBook/0205_MergeList/TestData_Head.txt b/CLion/CourseBook/0205_MergeList/TestData_Head.txt new file mode 100644 index 0000000..d2603c8 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/TestData_Head.txt @@ -0,0 +1 @@ +降序:9 7 5 3 1 \ No newline at end of file diff --git a/CLion/CourseBook/0205_MergeList/TestData_Tail.txt b/CLion/CourseBook/0205_MergeList/TestData_Tail.txt new file mode 100644 index 0000000..e033dd7 --- /dev/null +++ b/CLion/CourseBook/0205_MergeList/TestData_Tail.txt @@ -0,0 +1 @@ +升序:2 4 6 8 10 \ No newline at end of file diff --git a/CLion/CourseBook/0206_SLinkList/CMakeLists.txt b/CLion/CourseBook/0206_SLinkList/CMakeLists.txt new file mode 100644 index 0000000..0c24ff2 --- /dev/null +++ b/CLion/CourseBook/0206_SLinkList/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(SLinkList SLinkList.h SLinkList.c SLinkList-main.c) +# 链接公共库 +target_link_libraries(SLinkList Scanf_lib) \ No newline at end of file diff --git a/CLion/CourseBook/0206_SLinkList/SLinkList-main.c b/CLion/CourseBook/0206_SLinkList/SLinkList-main.c new file mode 100644 index 0000000..5d3f74b --- /dev/null +++ b/CLion/CourseBook/0206_SLinkList/SLinkList-main.c @@ -0,0 +1,152 @@ +#include +#include "Status.h" +#include "SLinkList.h" //**▲02 线性表**// + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // 备用空间 + int S; // 静态链表头结点索引 + + int i; + ElemType e; + + printf("████████ InitList \n"); + { + printf("█ 初始化单链表 S ...\n"); + InitList(space, &S); + } + PressEnterToContinue(); + + + printf("████████ ListEmpty \n"); + { + ListEmpty(space, S) ? printf("█ S 为空!!\n") : printf("█ S 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf("█ 在 S 第 %d 个位置插入 \"%d\" ...\n", i, 2 * i); + ListInsert(space, S, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf("████████ ListTraverse \n"); + { + printf("█ S 中的元素为:S = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ListLength \n"); + { + printf("█ S 的长度为 %d \n", ListLength(space, S)); + } + PressEnterToContinue(); + + + printf("████████ ListDelete \n"); + { + printf("█ 删除前的元素:S = "); + ListTraverse(space, S, PrintElem); + + printf("█ 尝试删除 S 中第 6 个元素...\n"); + + if(ListDelete(space, S, 6, &e) == OK) { + printf("█ 删除成功,被删除元素是:\"%d\"\n", e); + } else { + printf("█ 删除失败,第 6 个元素不存在!\n"); + } + + printf("█ 删除后的元素:S = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ GetElem \n"); + { + GetElem(space, S, 4, &e); + printf("█ S 中第 4 个位置的元素为 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ LocateElem \n"); + { + i = LocateElem(space, S, 7, CmpGreater); + GetElem(space, S, i, &e); + printf("█ S 中第一个元素值大于 \"7\" 的元素是 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(space, S, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的前驱为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的前驱不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(space, S, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的后继为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的后继不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ ClearList \n"); + { + printf("█ 清空 S 前:"); + ListEmpty(space, S) ? printf(" S 为空!!\n") : printf(" S 不为空!\n"); + + ClearList(space, S); + + printf("█ 清空 S 后:"); + ListEmpty(space, S) ? printf(" S 为空!!\n") : printf(" S 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ DestroyList \n"); + { + printf("█ 销毁 S 前:"); + S!=0 ? printf(" S 存在!\n") : printf(" S 不存在!!\n"); + + DestroyList(space, &S); + + printf("█ 销毁 S 后:"); + S!=0 ? printf(" S 存在!\n") : printf(" S 不存在!!\n"); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/CLion/CourseBook/0206_SLinkList/SLinkList.c b/CLion/CourseBook/0206_SLinkList/SLinkList.c new file mode 100644 index 0000000..222c15d --- /dev/null +++ b/CLion/CourseBook/0206_SLinkList/SLinkList.c @@ -0,0 +1,470 @@ +/*================================= + * 静态链表 + * + * 包含算法: 2.13、2.14、2.15、2.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ██ 提示 ██ + * + * 以下所有函数的形参中: + * space:指示备用空间 + * S :指示静态链表头结点索引 + */ + +/*━━━━━━━━━━━━━━━━━━━━━━ 备用空间操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.14 ████████ + * + * 初始化备用空间 + * + * 备用空间为静态链表提供可用的内存。 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * ████████ 算法2.15 ████████ + * + * 申请空间 + * + * 为静态链表从备用空间申请结点空间, + * 如果申请成功,返回可用空间的索引, + * 申请失败时,返回0。 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 将申请到的空间从备用空间中删去 + space[0].cur = space[i].cur; + } + + // 返回新申请结点下标 + return i; +} + +/* + * ████████ 算法2.16 ████████ + * + * 回收空间 + * + * 回收索引k处的结点空间以供静态链表后续复用, + * 回收方式就是将该结点空间从静态链表上移除, + * 并将其添加到备用空间的列表当中。 + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 静态链表操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 先初始化备用空间,而后从备用空间中申请头结点的空间,进而完成静态链表的初始化。 + * 初始化成功则使用S存储头结点索引,且返回OK,否则返回ERROR。 + */ +Status InitList(SLinkList space, int* S) { + int index; + + // 初始化备用空间 + InitSpace(space); + + // 申请头结点空间 + index = Malloc(space); + + if(index == 0) { + return ERROR; + } + + space[index].cur = 0; + + *S = index; + + return OK; +} + +/* + * 销毁(结构) + * + * 释放静态链表所占内存,即将静态链表所有结点空间移入备用空间列表中。 + */ +Status DestroyList(SLinkList space, int* S) { + int cur; + + // 确保静态链表存在 + if(S == NULL || *S == 0) { + return ERROR; + } + + while(*S != 0) { + // 暂存下一个结点的索引 + cur = space[*S].cur; + // 回收当前结点所占空间 + Free(space, *S); + // 前进到下一个结点的索引处 + *S = cur; + } + + return OK; +} + +/* + * 置空(内容) + * + * 这里需要释放静态链表中非头结点处的空间。 + */ +Status ClearList(SLinkList space, int S) { + int P; + int cur; + + // 确保静态链表存在 + if(S == 0) { + return ERROR; + } + + // 获取静态链表首个结点的索引 + P = space[S].cur; + + while(P != 0) { + // 暂存下一个结点的索引 + cur = space[P].cur; + // 回收当前结点所占空间 + Free(space, P); + // 前进到下一个结点的索引处 + P = cur; + } + + space[S].cur = 0; + + return OK; +} + +/* + * 判空 + * + * 判断静态链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 静态链表为空 + * FALSE: 静态链表不为空 + */ +Status ListEmpty(SLinkList space, int S) { + // 只存在头结点的静态链表被视为空表 + if(S != 0 && space[S].cur == 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * 计数 + * + * 返回静态链表包含的有效元素的数量。 + */ +int ListLength(SLinkList space, int S) { + int count; + + // 静态链表不存在,或静态链表为空时,返回0 + if(S == 0 || space[S].cur == 0) { + return 0; + } + + // 获取静态链表首个元素的索引 + S = space[S].cur; + count = 0; + + while(S != 0) { + count++; + S = space[S].cur; + } + + return count; +} + +/* + * 取值 + * + * 获取静态链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e) { + int count; + + // 确保静态链表存在且不为空 + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // 获取静态链表首个元素的索引 + S = space[S].cur; + count = 0; + + while(S != 0 && count < i - 1) { + count++; + S = space[S].cur; + } + + if(S == 0 || count > i - 1) { + return ERROR; + } + + *e = space[S].data; + + return OK; +} + +/* + * ████████ 算法2.13 ████████ + * + * 查找 + * + * 返回静态链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + * 2.这里的实现与教材上的算法2.13不相同,原因参见顶部的“注意”信息 + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + int p; + + // 确保静态链表存在且不为空 + if(S == 0 || space[S].cur == 0) { + return 0; + } + + i = 1; // i的初值为第1个元素的位序 + p = space[S].cur; // p的初值为第1个元素的索引 + + while(p != 0 && !Compare(space[p].data, e)) { + i++; + p = space[p].cur; + } + + if(p != 0) { + return i; + } else { + return 0; + } +} + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e) { + int pre, next; + + // 确保静态链表存在且不为空 + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // 指向第1个元素 + pre = space[S].cur; + + // 第1个元素没有前驱 + if(space[pre].data == cur_e) { + return ERROR; + } + + // 指向第2个元素 + next = space[pre].cur; + + // 从第2个元素开始,查找cur_e的位置 + while(next != 0 && space[next].data != cur_e) { + pre = next; + next = space[next].cur; + } + + // 如果没找到元素cur_e,查找失败,返回ERROR + if(next == 0) { + return ERROR; + } + + *pre_e = space[pre].data; + + return OK; +} + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e) { + int pre; + + // 确保静态链表存在且不为空 + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // 指向第1个元素 + pre = space[S].cur; + + // 从第1个元素开始,查找cur_e的位置,且保证该结点的后继存在 + while(space[pre].cur != 0 && space[pre].data != cur_e) { + pre = space[pre].cur; + } + + // 如果没找到cur_e,或者找到了,但它没有后继,均返回ERROR + if(space[pre].cur == 0) { + return ERROR; + } + + *next_e = space[space[pre].cur].data; + + return OK; +} + +/* + * 插入 + * + * 向静态链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e) { + int p, s; + int j; + + // 确保静态链表存在 + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身存在 + while(p != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == 0 || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = Malloc(space); + space[s].data = e; + space[s].cur = space[p].cur; + space[p].cur = s; + + return OK; +} + +/* + * 删除 + * + * 删除静态链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e) { + int p, q; + int j; + + // 确保静态链表存在 + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // 寻找第i-1个结点,且保证该结点的后继存在 + while(space[p].cur != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(space[p].cur == 0 || j > i - 1) { + return ERROR; + } + + // 删除第i个结点 + q = space[p].cur; + space[p].cur = space[q].cur; + *e = space[q].data; + Free(space, q); + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问静态链表S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // 确保链表存在 + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 图形化输出 ━━━━━━━━━━━━━━━━━━━━━━*/ + +// 以图形化形式输出当前结构,仅限内部测试使用 +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== 备用空间 ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== 静态链表 ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} + diff --git a/CLion/CourseBook/0206_SLinkList/SLinkList.h b/CLion/CourseBook/0206_SLinkList/SLinkList.h new file mode 100644 index 0000000..d961fc8 --- /dev/null +++ b/CLion/CourseBook/0206_SLinkList/SLinkList.h @@ -0,0 +1,208 @@ +/*================================= + * 静态链表 + * + * 包含算法: 2.13、2.14、2.15、2.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define MAXSIZE 1000 // 备用空间最大容量,近似于静态链表的最大长度 + +/* 静态链表元素类型定义 */ +typedef int ElemType; + +/* + * 静态链表结构 + * + * 注:静态链表依托于一个数组,该数组包含了已占用空间和空闲空间 + */ +typedef struct SLinkNode { + ElemType data; + int cur; // cur是游标,做指针用,用来链接下一个结点(区别于数组下标) +} SLinkList[MAXSIZE]; // 链表空间类型 + + +/* + * ████ 提示 ████ + * + * 以下所有函数的形参中: + * space:指示备用空间 + * S :指示静态链表头结点索引 + */ + +/* + * ████ 注意 ████ + * + * 教材中算法2.13和算法2.14~2.17中都是涉及静态链表的操作, + * 但这两处算法预设的数据结构却不同。 + * + * 算法2.13假设整个预设数组都是静态链表(操作简单), + * 算法2.14~2.17只是将预设的数组作为备用空间, + * 静态链表所需空间是基于备用空间进行申请和释放的(操作稍难)。 + * + * 这里实现的代码中,以算法2.14~2.17处预设的数据结构为准, + * 所以,对于算法2.13,其实现会有教材有所不同。 + */ + + +/*━━━━━━━━━━━━━━━━━━━━━━ 备用空间操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.14 ████████ + * + * 初始化备用空间 + * + * 备用空间为静态链表提供可用的内存。 + */ +void InitSpace(SLinkList space); + +/* + * ████████ 算法2.15 ████████ + * + * 申请空间 + * + * 为静态链表从备用空间申请结点空间, + * 如果申请成功,返回可用空间的索引, + * 申请失败时,返回0。 + */ +int Malloc(SLinkList space); + +/* + * ████████ 算法2.16 ████████ + * + * 回收空间 + * + * 回收索引k处的结点空间以供静态链表后续复用, + * 回收方式就是将该结点空间从静态链表上移除, + * 并将其添加到备用空间的列表当中。 + */ +void Free(SLinkList space, int k); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 静态链表操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 先初始化备用空间,而后从备用空间中申请头结点的空间,进而完成静态链表的初始化。 + * 初始化成功则使用S存储头结点索引,且返回OK,否则返回ERROR。 + */ +Status InitList(SLinkList space, int* S); + +/* + * 销毁(结构) + * + * 释放静态链表所占内存,即将静态链表所有结点空间移入备用空间列表中。 + */ +Status DestroyList(SLinkList space, int* S); + +/* + * 置空(内容) + * + * 这里需要释放静态链表中非头结点处的空间。 + */ +Status ClearList(SLinkList space, int S); + +/* + * 判空 + * + * 判断静态链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 静态链表为空 + * FALSE: 静态链表不为空 + */ +Status ListEmpty(SLinkList space, int S); + +/* + * 计数 + * + * 返回静态链表包含的有效元素的数量。 + */ +int ListLength(SLinkList space, int S); + +/* + * 取值 + * + * 获取静态链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e); + +/* + * ████████ 算法2.13 ████████ + * + * 查找 + * + * 返回静态链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + * 2.这里的实现与教材上的算法2.13不相同,原因参见顶部的“注意”信息 + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e); + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e); + +/* + * 插入 + * + * 向静态链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e); + +/* + * 删除 + * + * 删除静态链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e); + +/* + * 遍历 + * + * 用visit函数访问静态链表S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 图形化输出 ━━━━━━━━━━━━━━━━━━━━━━*/ + +// 以图形化形式输出当前结构,仅限内部测试使用 +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/CLion/CourseBook/0207_Difference/CMakeLists.txt b/CLion/CourseBook/0207_Difference/CMakeLists.txt new file mode 100644 index 0000000..4b3f8c1 --- /dev/null +++ b/CLion/CourseBook/0207_Difference/CMakeLists.txt @@ -0,0 +1,12 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(Difference SLinkList.h SLinkList.c Difference.h Difference.c Difference-main.c) +# 链接公共库 +target_link_libraries(Difference Scanf_lib) + +# 记录要拷贝到*.exe目录下的资源文件 +file(GLOB TestData TestData*.txt) +# 将资源文件拷贝到*.exe目录下,不然无法加载 +file(COPY ${TestData} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/CLion/CourseBook/0207_Difference/Difference-main.c b/CLion/CourseBook/0207_Difference/Difference-main.c new file mode 100644 index 0000000..b7909d0 --- /dev/null +++ b/CLion/CourseBook/0207_Difference/Difference-main.c @@ -0,0 +1,19 @@ +#include +#include "Difference.h" //**▲02 线性表**// + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // 备用空间 + int S; // 静态链表 + + printf("S = (A-B)∪(B-A) = "); + difference("TestData.txt", space, &S); + ListTraverse(space, S, PrintElem); + + return 0; +} diff --git a/CLion/CourseBook/0207_Difference/Difference.c b/CLion/CourseBook/0207_Difference/Difference.c new file mode 100644 index 0000000..a630664 --- /dev/null +++ b/CLion/CourseBook/0207_Difference/Difference.c @@ -0,0 +1,95 @@ +/*=============== + * 静态链表去重 + * + * 包含算法: 2.17 + ================*/ + +#include "Difference.h" + +/* + * ████████ 算法2.17 ████████ + * + * S = (A-B)∪(B-A) + * + * 对集合A和集合B进行(A-B)∪(B-A)计算,计算结果存入静态链表S + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + */ +void difference(char path[], SLinkList space, int* S) { + FILE* fp; + int m, n; // 集合A和集合B中元素数量 + int j; // 循环计数器 + int R; // 指向静态链表最后一个结点 + int i, k, p; + int b; // 临时存储从集合B中读到的数据 + + // 初始化备用空间 + InitSpace(space); + + // 获取静态链表头结点 + *S = Malloc(space); + + // 让R执行静态链表最后的结点 + R = *S; + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // 读取集合A和集合B的元素个数 + ReadData(fp, "%d%d", &m, &n); + + // 录入集合A的数据 + for(j = 1; j <= m; ++j) { + // 分配结点 + i = Malloc(space); + + // 输入集合A的元素值 + ReadData(fp, "%d", &space[i].data); + + // 将新结点插入到表尾 + space[R].cur = i; + R = i; + } + + // 尾结点的指针置空 + space[R].cur = 0; + + // 录入集合B的数据 + for(j = 1; j <= n; ++j) { + // 输入集合B的元素值 + ReadData(fp, "%d", &b); + + p = *S; // 指向静态链表头结点,后续总是指向k的前一个位置 + k = space[*S].cur; // 指向静态链表中的首个元素 + + // 在当前静态链表中查找是否存在b元素 + while(k != space[R].cur && space[k].data != b) { + p = k; + k = space[k].cur; + } + + // 如果该元素不存在,则加入静态链表 + if(k == space[R].cur) { + i = Malloc(space); + space[i].data = b; + space[i].cur = space[R].cur; + space[R].cur = i; + + // 如果该元素已存在,则需要移除 + } else { + space[p].cur = space[k].cur; + Free(space, k); + if(R == k) { + R = p; + } + } + } + + fclose(fp); +} \ No newline at end of file diff --git a/CLion/CourseBook/0207_Difference/Difference.h b/CLion/CourseBook/0207_Difference/Difference.h new file mode 100644 index 0000000..06c816c --- /dev/null +++ b/CLion/CourseBook/0207_Difference/Difference.h @@ -0,0 +1,28 @@ +/*=============== + * 静态链表去重 + * + * 包含算法: 2.17 + ================*/ + +#ifndef DIFFERENCE_H +#define DIFFERENCE_H + +#include +#include "Status.h" //**▲01 绪论**// +#include "SLinkList.h" //**▲02 线性表**// + +/* + * ████████ 算法2.17 ████████ + * + * S = (A-B)∪(B-A) + * + * 对集合A和集合B进行(A-B)∪(B-A)计算,计算结果存入静态链表S + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据。 + */ +void difference(char path[], SLinkList space, int* S); + +#endif diff --git a/CLion/CourseBook/0207_Difference/SLinkList.c b/CLion/CourseBook/0207_Difference/SLinkList.c new file mode 100644 index 0000000..4e09106 --- /dev/null +++ b/CLion/CourseBook/0207_Difference/SLinkList.c @@ -0,0 +1,116 @@ +/*================================= + * 静态链表 + * + * 包含算法: 2.13、2.14、2.15、2.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ██ 提示 ██ + * + * 以下所有函数的形参中: + * space:指示备用空间 + * S :指示静态链表头结点索引 + */ + +/*━━━━━━━━━━━━━━━━━━━━━━ 备用空间操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.14 ████████ + * + * 初始化备用空间 + * + * 备用空间为静态链表提供可用的内存。 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * ████████ 算法2.15 ████████ + * + * 申请空间 + * + * 为静态链表从备用空间申请结点空间, + * 如果申请成功,返回可用空间的索引, + * 申请失败时,返回0。 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 将申请到的空间从备用空间中删去 + space[0].cur = space[i].cur; + } + + // 返回新申请结点下标 + return i; +} + +/* + * ████████ 算法2.16 ████████ + * + * 回收空间 + * + * 回收索引k处的结点空间以供静态链表后续复用, + * 回收方式就是将该结点空间从静态链表上移除, + * 并将其添加到备用空间的列表当中。 + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 静态链表操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 遍历 + * + * 用visit函数访问静态链表S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // 确保链表存在 + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 图形化输出 ━━━━━━━━━━━━━━━━━━━━━━*/ + +// 以图形化形式输出当前结构,仅限内部测试使用 +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== 备用空间 ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== 静态链表 ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} diff --git a/CLion/CourseBook/0207_Difference/SLinkList.h b/CLion/CourseBook/0207_Difference/SLinkList.h new file mode 100644 index 0000000..fc2e30d --- /dev/null +++ b/CLion/CourseBook/0207_Difference/SLinkList.h @@ -0,0 +1,89 @@ +/*================================= + * 静态链表 + * + * 包含算法: 2.13、2.14、2.15、2.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define MAXSIZE 1000 // 备用空间最大容量,近似于静态链表的最大长度 + +/* 静态链表元素类型定义 */ +typedef int ElemType; + +/* + * 静态链表结构 + * + * 注:静态链表依托于一个数组,该数组包含了已占用空间和空闲空间 + */ +typedef struct SLinkLNode { + ElemType data; + int cur; // cur是游标,做指针用,用来链接下一个结点(区别于数组下标) +} SLinkList[MAXSIZE]; // 链表空间类型 + + +/* + * ████ 提示 ████ + * + * 以下所有函数的形参中: + * space:指示备用空间 + * S :指示静态链表头结点索引 + */ + + +/*━━━━━━━━━━━━━━━━━━━━━━ 备用空间操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.14 ████████ + * + * 初始化备用空间 + * + * 备用空间为静态链表提供可用的内存。 + */ +void InitSpace(SLinkList space); + +/* + * ████████ 算法2.15 ████████ + * + * 申请空间 + * + * 为静态链表从备用空间申请结点空间, + * 如果申请成功,返回可用空间的索引, + * 申请失败时,返回0。 + */ +int Malloc(SLinkList space); + +/* + * ████████ 算法2.16 ████████ + * + * 回收空间 + * + * 回收索引k处的结点空间以供静态链表后续复用, + * 回收方式就是将该结点空间从静态链表上移除, + * 并将其添加到备用空间的列表当中。 + */ +void Free(SLinkList space, int k); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 静态链表操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 遍历 + * + * 用visit函数访问静态链表S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 图形化输出 ━━━━━━━━━━━━━━━━━━━━━━*/ + +// 以图形化形式输出当前结构,仅限内部测试使用 +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/CLion/CourseBook/0207_Difference/TestData.txt b/CLion/CourseBook/0207_Difference/TestData.txt new file mode 100644 index 0000000..c03d314 --- /dev/null +++ b/CLion/CourseBook/0207_Difference/TestData.txt @@ -0,0 +1,4 @@ +集合A的长度:3 +集合B的长度:5 +集合A中元素:2 3 4 +集合B中元素:1 3 4 6 7 \ No newline at end of file diff --git a/CLion/CourseBook/0208_DuLinkList/CMakeLists.txt b/CLion/CourseBook/0208_DuLinkList/CMakeLists.txt new file mode 100644 index 0000000..0a6c9e3 --- /dev/null +++ b/CLion/CourseBook/0208_DuLinkList/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(DuLinkList DuLinkList.h DuLinkList.c DuLinkList-main.c) +# 链接公共库 +target_link_libraries(DuLinkList Scanf_lib) \ No newline at end of file diff --git a/CLion/CourseBook/0208_DuLinkList/DuLinkList-main.c b/CLion/CourseBook/0208_DuLinkList/DuLinkList-main.c new file mode 100644 index 0000000..8d8ae65 --- /dev/null +++ b/CLion/CourseBook/0208_DuLinkList/DuLinkList-main.c @@ -0,0 +1,149 @@ +#include +#include "Status.h" +#include "DuLinkList.h" //**▲02 线性表**// + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + DuLinkList L; + int i; + ElemType e; + + printf("████████ InitList \n"); + { + printf("█ 初始化双向循环链表 L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf("████████ ListEmpty \n"); + { + ListEmpty(L) ? printf("█ L 为空!!\n") : printf("█ L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf("█ 在 L 第 %d 个位置插入 \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf("████████ ListTraverse \n"); + { + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ListLength \n"); + { + printf("█ L 的长度为 %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf("████████ ListDelete \n"); + { + printf("█ 删除前的元素:L = "); + ListTraverse(L, PrintElem); + + printf("█ 尝试删除 L 中第 6 个元素...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf("█ 删除成功,被删除元素是:\"%d\"\n", e); + } else { + printf("█ 删除失败,第 6 个元素不存在!\n"); + } + + printf("█ 删除后的元素:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ GetElem \n"); + { + GetElem(L, 4, &e); + printf("█ L 中第 4 个位置的元素为 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf("█ L 中第一个元素值大于 \"7\" 的元素是 \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf("████████ PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的前驱为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的前驱不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf("█ 元素 \"%d\" 的后继为 \"%d\" \n", cur_e, e); + } else { + printf("█ 元素 \"%d\" 的后继不存在!\n", cur_e); + } + } + PressEnterToContinue(); + + + printf("████████ ClearList \n"); + { + printf("█ 清空 L 前:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + + ClearList(L); + + printf("█ 清空 L 后:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ DestroyList \n"); + { + printf("█ 销毁 L 前:"); + L ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + + DestroyList(&L); + + printf("█ 销毁 L 后:"); + L ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + } + PressEnterToContinue(); + + return 0; +} diff --git a/CLion/CourseBook/0208_DuLinkList/DuLinkList.c b/CLion/CourseBook/0208_DuLinkList/DuLinkList.c new file mode 100644 index 0000000..9dd94b7 --- /dev/null +++ b/CLion/CourseBook/0208_DuLinkList/DuLinkList.c @@ -0,0 +1,402 @@ +/*===================== + * 双向循环链表 + * + * 包含算法: 2.18、2.19 + ======================*/ + +#include "DuLinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // 前驱和后继均指向自身 + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * 销毁(结构) + * + * 释放双向循环链表所占内存。 + */ +Status DestroyList(DuLinkList* L) { + // 确保链表结构存在 + if(L == NULL || *L == NULL) { + return ERROR; + } + + ClearList(*L); + + free(*L); + + *L = NULL; + + return OK; +} + +/* + * 置空(内容) + * + * 这里需要释放双向循环链表中非头结点处的空间。 + */ +Status ClearList(DuLinkList L) { + DuLinkList p, q; + + if(L == NULL) { + return ERROR; + } + + p = L->next; + + while(p != L) { + q = p->next; + free(p); + p = q; + } + + L->next = L->prior = L; + + return OK; +} + +/* + * 判空 + * + * 判断双向循环链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 双向循环链表为空 + * FALSE: 双向循环链表不为空 + */ +Status ListEmpty(DuLinkList L) { + if(L != NULL && L->next == L && L->prior == L) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * 计数 + * + * 返回双向循环链表包含的有效元素的数量。 + */ +int ListLength(DuLinkList L) { + DuLinkList p; + int i; + + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 0; + p = L->next; + + // 遍历所有结点 + while(p != L) { + i++; + p = p->next; + } + + return i; +} + +/* + * 取值 + * + * 获取双向循环链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + int j; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点的后继不为L + while(p->next != L && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p->next == L || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * 查找 + * + * 返回双向循环链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 1; // i的初值为第1个元素的位序 + p = L->next; // p的初值为第1个元素的指针 + + while(p != L && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != L) { + return i; + } else { + return 0; + } +} + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e) { + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // 指向第1个元素 + p = L->next; + + // 第1个元素没有前驱 + if(p->data == cur_e) { + return ERROR; + } + + // 指向第2个元素 + p = p->next; + + // 从第2个元素开始,查找cur_e的位置 + while(p != L && p->data != cur_e) { + p = p->next; + } + + // 如果没找到元素cur_e,查找失败,返回ERROR + if(p == L) { + return ERROR; + } + + *pre_e = p->prior->data; + + return OK; +} + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e) { + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // 指向第1个元素 + p = L->next; + + // 从第1个元素开始,查找cur_e的位置,且保证该结点的后继不为L + while(p->next != L && p->data != cur_e) { + p = p->next; + } + + // 如果没找到cur_e,或者找到了,但它没有后继,均返回ERROR + if(p->next == L) { + return ERROR; + } + + *next_e = p->next->data; + + return OK; +} + +/* + * ████████ 算法2.18 ████████ + * + * 插入 + * + * 向双向循环链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // 确保双向循环链表存在(但可能为空表) + if(L == NULL) { + return ERROR; + } + + // 查找第i个结点位置(引用) + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // 创建新结点 + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // 将s插入到p的前面,称为第i个结点 + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * ████████ 算法2.19 ████████ + * + * 删除 + * + * 删除双向循环链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // 查找第i个结点位置(引用) + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // 如果p==L,说明待删除元素是第len+1个元素,不合规 + if(p == L) { + return ERROR; + } + + *e = p->data; + + // 移除p结点 + p->prior->next = p->next; + p->next->prior = p->prior; + + free(p); + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问双向循环链表L + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 获取循环链表L上第i个元素的引用 + * + * ▓▓▓▓ 注 ▓▓▓▓ + * 1.加static的含义是当前函数只在DuLinkList中使用,不会被别的文件引用 + * 2.假设链表长度为len,且需要获取第len+1个元素的引用时,由于这里是循环链表,所以返回的是头结点 + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // 确保双向循环链表存在(但可能为空表) + if(L == NULL) { + return NULL; + } + + // 位置不合规 + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // 尝试查找第i个元素 + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // 恰好找到第i个元素 + if(count == i) { + return p; + } + + // 至此,说明p->next==L,此时需要判断i是否过大 + if(count + 1 < i) { + return NULL; + } + + // 至此,说明需要在len+1的位置上插入元素 + return L; +} diff --git a/CLion/CourseBook/0208_DuLinkList/DuLinkList.h b/CLion/CourseBook/0208_DuLinkList/DuLinkList.h new file mode 100644 index 0000000..e2bc01e --- /dev/null +++ b/CLion/CourseBook/0208_DuLinkList/DuLinkList.h @@ -0,0 +1,153 @@ +/*===================== + * 双向循环链表 + * + * 包含算法: 2.18、2.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 双向循环链表元素类型定义 */ +typedef int ElemType; + +/* + * 双向循环链表结构 + * + * 注:这里的双向循环链表存在头结点 + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // 前驱 + struct DuLNode* next; // 后继 +} DuLNode; + +// 指向双向循环链表结点的指针 +typedef DuLNode* DuLinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(DuLinkList* L); + +/* + * 销毁(结构) + * + * 释放双向循环链表所占内存。 + */ +Status DestroyList(DuLinkList* L); + +/* + * 置空(内容) + * + * 这里需要释放双向循环链表中非头结点处的空间。 + */ +Status ClearList(DuLinkList L); + +/* + * 判空 + * + * 判断双向循环链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 双向循环链表为空 + * FALSE: 双向循环链表不为空 + */ +Status ListEmpty(DuLinkList L); + +/* + * 计数 + * + * 返回双向循环链表包含的有效元素的数量。 + */ +int ListLength(DuLinkList L); + +/* + * 取值 + * + * 获取双向循环链表中第i个元素,将其存储到e中。 + * 如果可以找到,返回OK,否则,返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数,但这不符合编码的通用约定。 + * 通常,i的含义应该指索引,即从0开始计数。 + */ +Status GetElem(DuLinkList L, int i, ElemType* e); + +/* + * 查找 + * + * 返回双向循环链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 前驱 + * + * 获取元素cur_e的前驱, + * 如果存在,将其存储到pre_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * 后继 + * + * 获取元素cur_e的后继, + * 如果存在,将其存储到next_e中,返回OK, + * 如果不存在,则返回ERROR。 + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e); + +/* + * ████████ 算法2.18 ████████ + * + * 插入 + * + * 向双向循环链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * ████████ 算法2.19 ████████ + * + * 删除 + * + * 删除双向循环链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListDelete(DuLinkList L, int i, ElemType* e); + +/* + * 遍历 + * + * 用visit函数访问双向循环链表L + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * 获取循环链表L上第i个元素的引用 + * + * ▓▓▓▓ 注意 ▓▓▓▓ + * 1.加static的含义是当前函数只在DuLinkList中使用,不会被别的文件引用 + * 2.假设链表长度为len,且需要获取第len+1个元素的引用时,由于这里是循环链表,所以返回的是头结点 + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/CLion/CourseBook/0209_ELinkList/CMakeLists.txt b/CLion/CourseBook/0209_ELinkList/CMakeLists.txt new file mode 100644 index 0000000..4c765f6 --- /dev/null +++ b/CLion/CourseBook/0209_ELinkList/CMakeLists.txt @@ -0,0 +1,7 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(ELinkList ELinkList.h ELinkList.c ELinkList-main.c) +# 链接公共库 +target_link_libraries(ELinkList Scanf_lib) \ No newline at end of file diff --git a/CLion/CourseBook/0209_ELinkList/ELinkList-main.c b/CLion/CourseBook/0209_ELinkList/ELinkList-main.c new file mode 100644 index 0000000..a6ec568 --- /dev/null +++ b/CLion/CourseBook/0209_ELinkList/ELinkList-main.c @@ -0,0 +1,224 @@ +#include +#include "ELinkList.h" //**▲02 线性表**// + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ELinkList L; + Link p, q, s; + Position r; + int i; + ElemType e; + + printf("████████ InitList \n"); + { + printf("█ 初始化扩展的线性链表 L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf("████████ ListEmpty \n"); + { + ListEmpty(L) ? printf("█ L 为空!!\n") : printf("█ L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf("█ 在 L 第 %d 个位置插入 \"%d\" ...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf("████████ ListTraverse \n"); + { + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ListLength \n"); + { + printf("█ L 的长度为 %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf("████████ ListDelete \n"); + { + printf("█ 删除前的元素:L = "); + ListTraverse(L, PrintElem); + + printf("█ 尝试删除 L 中第 6 个元素...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf("█ 删除成功,被删除元素是:\"%d\"\n", e); + } else { + printf("█ 删除失败,第 6 个元素不存在!\n"); + } + + printf("█ 删除后的元素:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ LocateElem \n"); + { + r = LocateElem(L, 7, CmpGreater); + printf("█ L 中第一个元素值大于 \"7\" 的元素是 \"%d\" \n", r->data); + } + PressEnterToContinue(); + + + printf("████████ PriorElem \n"); + { + Position pre = PriorPos(L, r); + + if(pre !=NULL) { + printf("█ 元素 \"%d\" 的前驱为 \"%d\" \n", r->data, pre->data); + } else { + printf("█ 元素 \"%d\" 的前驱不存在!\n", r->data); + } + } + PressEnterToContinue(); + + + printf("████████ NextElem \n"); + { + Position next = NextPos(L, r); + + if(next !=NULL) { + printf("█ 元素 \"%d\" 的后继为 \"%d\" \n", r->data, next->data); + } else { + printf("█ 元素 \"%d\" 的后继不存在!\n", r->data); + } + } + PressEnterToContinue(); + + + printf("████████ MakeNode \n"); + { + printf("█ 创建结点 \"100\" ...\n"); + MakeNode(&p, 100); + printf("█ 创建结点 \"200\" ...\n"); + MakeNode(&q, 200); + printf("█ 创建结点 \"300\" ...\n"); + MakeNode(&s, 300); + } + PressEnterToContinue(); + + + printf("████████ InsFirst \n"); + { + printf("█ 将元素 \"%d\" 插入到元素 \"%d\" 之后...\n", s->data, r->data); + InsFirst(&L, r, s); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ DelFirst \n"); + { + printf("█ 删除元素 \"%d\" 之后的元素...\n", r->data); + DelFirst(&L, r, &s); + printf("█ 被删除的元素为:\"%d\"\n", s->data); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ InsBefore \n"); + { + Link t = r; + + printf("█ 将元素 \"%d\" 插入到元素 \"%d\" 之前...\n", p->data, t->data); + InsBefore(&L, &t, p); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ InsAfter \n"); + { + Link t = r; + + printf("█ 将元素 \"%d\" 插入到元素 \"%d\" 之后...\n", q->data, t->data); + InsAfter(&L, &t, q); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ Append \n"); + { + printf("█ 创建结点 \"400\" ...\n"); + MakeNode(&s, 400); + + printf("█ 将元素 %d 插入到链表最后...\n", s->data); + Append(&L, s); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ Remove \n"); + { + printf("█ 从链表最后删除元素...\n"); + Remove(&L, &s); + printf("█ 被删除的元素为:\"%d\"\n", s->data); + printf("█ L 中的元素为:L = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf("████████ ClearList \n"); + { + printf("清空 L 前:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + + ClearList(&L); + + printf("清空 L 后:"); + ListEmpty(L) ? printf(" L 为空!!\n") : printf(" L 不为空!\n"); + } + PressEnterToContinue(); + + + printf("████████ DestroyList \n"); + { + printf("销毁 L 前:"); + L.head != NULL && L.tail != NULL ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + + DestroyList(&L); + + printf("销毁 L 后:"); + L.head != NULL && L.tail != NULL ? printf(" L 存在!\n") : printf(" L 不存在!!\n"); + + } + PressEnterToContinue(); + + return 0; +} + diff --git a/CLion/CourseBook/0209_ELinkList/ELinkList.c b/CLion/CourseBook/0209_ELinkList/ELinkList.c new file mode 100644 index 0000000..5087f66 --- /dev/null +++ b/CLion/CourseBook/0209_ELinkList/ELinkList.c @@ -0,0 +1,630 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#include "ELinkList.h" //**▲02 线性表**// + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // 申请空间 + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // 这里没有退出程序,而是返回错误提示 + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // 创建头结点 + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // 只有头结点时,首位游标指向自身 + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * 销毁(结构) + * + * 释放链表所占内存。 + */ +Status DestroyList(ELinkList* L) { + + // 链表不存在时没必要销毁 + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // 没有有效元素时不需要清理 + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // 指向第1个元素 + p = (*L).head->next; + + // 释放所有元素所占内存 + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * 判空 + * + * 判断链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 链表为空 + * FALSE: 链表不为空 + */ +Status ListEmpty(ELinkList L) { + if(L.len <= 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素引用。 + * 如果不存在这样的元素,则返回NULL。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + * 2.这里的返回值是目标元素的引用,而不是其位序 + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + Position p; + + if(L.len <= 0) { + return NULL; + } + + // 指向第1个元素 + p = L.head->next; + + while(p != NULL && !Compare(p->data, e)) { + p = p->next; + } + + return p; +} + +/* + * ████████ 算法2.20 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.9的改写 + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // 确保i值合规[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // 查找第i-1个元素的引用,存储在h中 + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // 分配新结点s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // 将s结点插入到h结点后面,成为h后面的第一个结点 + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * 删除 + * + * 删除链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.10的改写 + */ +Status ListDelete(ELinkList* L, int i, ElemType* e) { + Link h, q; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // 确保i值合规[1, len] + if(i < 1 || i > (*L).len) { + return ERROR; + } + + // 查找第i-1个元素的引用,存储在h中 + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // 删除h结点后的第一个结点,并用q存储被删除结点的引用 + if(DelFirst(L, h, &q) == ERROR) { + return ERROR; + } + + // 记下被删除元素的值 + *e = q->data; + + // 释放被删除结点的空间 + FreeNode(&q); + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // 指向第1个元素 + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * 设值 + * + * 为结点p设置元素值。 + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * 尾结点 + * + * 获取尾结点引用。 + */ +Position GetLast(ELinkList L) { + return L.tail; +} + +/* + * 前驱 + * + * 获取结点p的前驱,如果不存在,则返回NULL。 + */ +Position PriorPos(ELinkList L, Link p) { + Link pre; + + // 确保链表(头结点)存在 + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + // 指向头结点 + pre = L.head; + + // 第一个结点无前驱 + if(pre->next == p) { + return NULL; + } + + // 查找P的前驱 + while(pre != NULL && pre->next != p) { + pre = pre->next; + } + + return pre; +} + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p) { + + // 确保链表(头结点)存在 + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * 查找 + * + * 查找链表L中第i(允许为0)个结点,并将其引用存入p,且返回OK + * 如果i值不合规,则返回ERROR + * 特别注意,当i为0时,p存储的是头结点的引用 + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // 注:i允许为0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // 保证链表(头结点)存在 + if(L.head == NULL) { + return ERROR; + } + + // i为0时,取头结点 + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // 计数 + r = L.head; // 指向头结点 + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // 若h为尾结点,则需要更新尾结点 + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // 如果没有结点可删除,返回错误信息 + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // 将被删除结点变成孤立的结点 + (*q)->next = NULL; + + // 如果h后只有一个结点,更改尾结点指针 + if(h->next == NULL) { + (*L).tail = h; + } + + // 并不释放被删结点所占空间 + (*L).len--; + + return OK; +} + +/* + * 前向插入 + * + * 将s结点插入到p结点之前,并将p指向新结点 + */ +Status InsBefore(ELinkList* L, Link* p, Link s) { + Link pre; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + // 指向头结点 + pre = (*L).head; + + // 查找p结点的广义前驱:即对于第一个元素,其前驱为头结点 + while(pre != NULL && pre->next != (*p)) { + pre = pre->next; + } + + // 没找到广义前驱 + if(pre == NULL) { + return ERROR; + } + + s->next = *p; + pre->next = s; + *p = s; + + (*L).len++; //修改len,需用到*L + + return OK; +} + +/* + * 后向插入 + * + * 将s结点插入到p结点之前,并将p指向新结点 + */ +Status InsAfter(ELinkList* L, Link* p, Link s) { + Link r; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + r = (*L).head; + + while(r != NULL && r != (*p)) { + r = r->next; + } + + // 如果未找到结点p,返回错误信息 + if(r == NULL) { + return ERROR; + } + + // 如果p指向最后一个结点,则需要更新尾指针 + if(*p == (*L).tail) { + (*L).tail = s; + } + + s->next = (*p)->next; + (*p)->next = s; + *p = s; + + (*L).len++; + + return OK; +} + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // 确定新的尾结点位置 + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} + +/* + * 从尾部移除 + * + * 将链表的尾结点移除,并将被移除的结点引用存储在q中 + */ +Status Remove(ELinkList* L, Link* q) { + Link p; + + if(L == NULL || (*L).head == NULL || q == NULL) { + return ERROR; + } + + // 没有元素可供移除 + if((*L).len == 0) { + *q = NULL; + return ERROR; + } + + *q = (*L).tail; + + // 确定新的尾结点位置 + p = (*L).head; + while(p->next != (*L).tail) { + p = p->next; + } + p->next = NULL; + (*L).tail = p; + + (*L).len--; + + return OK; +} diff --git a/CLion/CourseBook/0209_ELinkList/ELinkList.h b/CLion/CourseBook/0209_ELinkList/ELinkList.h new file mode 100644 index 0000000..614ff32 --- /dev/null +++ b/CLion/CourseBook/0209_ELinkList/ELinkList.h @@ -0,0 +1,253 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include // 提供一些极限常量 +#include "Status.h" //**▲01 绪论**// + +/* + * ████ 注意 ████ + * + * 教材中的线性链表命名为LinkList, + * 这里为了与单链表区分,故将其命名为ELinkList。 + * 线性链表可以理解成对普通链表的一种扩展。 + */ + +/* 线性链表元素类型定义 */ +typedef int ElemType; + +/* + * 线性链表结构 + * + * 注:这里的线性链表存在头结点 + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* 维护线性链表头尾指针及长度信息 */ +typedef struct { + Link head, tail; // 分别指向线性链表中的头结点和尾结点 + int len; // 指示线性链表中数据元素的个数 +} ELinkList; + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e); + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L); + +/* + * 销毁(结构) + * + * 释放链表所占内存。 + */ +Status DestroyList(ELinkList* L); + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(ELinkList* L); + +/* + * 判空 + * + * 判断链表中是否包含有效数据。 + * + * 返回值: + * TRUE : 链表为空 + * FALSE: 链表不为空 + */ +Status ListEmpty(ELinkList L); + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(ELinkList L); + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素引用。 + * 如果不存在这样的元素,则返回NULL。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + * 2.这里的返回值是目标元素的引用,而不是其位序 + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ████████ 算法2.20 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.9的改写 + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * 删除 + * + * 删除链表第i个位置上的元素,并将被删除元素存储到e中。 + * 删除成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.10的改写 + */ +Status ListDelete(ELinkList* L, int i, ElemType* e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p); + +/* + * 设值 + * + * 为结点p设置元素值。 + */ +Status SetCurElem(Link p, ElemType e); + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L); + +/* + * 尾结点 + * + * 获取尾结点引用。 + */ +Position GetLast(ELinkList L); + +/* + * 前驱 + * + * 获取结点p的前驱,如果不存在,则返回NULL。 + */ +Position PriorPos(ELinkList L, Link p); + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p); + +/* + * 查找 + * + * 查找链表L中第i(允许为0)个结点,并将其引用存入p,且返回OK + * 如果i值不合规,则返回ERROR + * 特别注意,当i为0时,p存储的是头结点的引用 + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * 前向插入 + * + * 将s结点插入到p结点之前,并将p指向新结点 + */ +Status InsBefore(ELinkList* L, Link* p, Link s); + +/* + * 后向插入 + * + * 将s结点插入到p结点之前,并将p指向新结点 + */ +Status InsAfter(ELinkList* L, Link* p, Link s); + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s); + +/* + * 从尾部移除 + * + * 将链表的尾结点移除,并将被移除的结点引用存储在q中 + */ +Status Remove(ELinkList* L, Link* q); + +#endif diff --git a/CLion/CourseBook/0210_MergeEList/CMakeLists.txt b/CLion/CourseBook/0210_MergeEList/CMakeLists.txt new file mode 100644 index 0000000..d09ff55 --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/CMakeLists.txt @@ -0,0 +1,12 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(MergeEList ELinkList.h ELinkList.c MergeEList.h MergeEList.c MergeEList-main.c) +# 链接公共库 +target_link_libraries(MergeEList Scanf_lib) + +# 记录要拷贝到*.exe目录下的资源文件 +file(GLOB TestData TestData*.txt) +# 将资源文件拷贝到*.exe目录下,不然无法加载 +file(COPY ${TestData} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/CLion/CourseBook/0210_MergeEList/ELinkList.c b/CLion/CourseBook/0210_MergeEList/ELinkList.c new file mode 100644 index 0000000..0ee0b2b --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/ELinkList.c @@ -0,0 +1,324 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#include "ELinkList.h" //**▲02 线性表**// + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // 申请空间 + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // 这里没有退出程序,而是返回错误提示 + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // 创建头结点 + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // 只有头结点时,首位游标指向自身 + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * ████████ 算法2.20 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.9的改写 + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // 确保i值合规[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // 查找第i-1个元素的引用,存储在h中 + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // 分配新结点s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // 将s结点插入到h结点后面,成为h后面的第一个结点 + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // 指向第1个元素 + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p) { + + // 确保链表(头结点)存在 + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * 查找 + * + * 查找链表L中第i(允许为0)个结点,并将其引用存入p,且返回OK + * 如果i值不合规,则返回ERROR + * 特别注意,当i为0时,p存储的是头结点的引用 + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // 注:i允许为0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // 保证链表(头结点)存在 + if(L.head == NULL) { + return ERROR; + } + + // i为0时,取头结点 + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // 计数 + r = L.head; // 指向头结点 + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // 若h为尾结点,则需要更新尾结点 + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // 如果没有结点可删除,返回错误信息 + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ★将被删除结点变成孤立的结点 + (*q)->next = NULL; + + // 如果h后只有一个结点,更改尾结点指针 + if(h->next == NULL) { + (*L).tail = h; + } + + // 并不释放被删结点所占空间 + (*L).len--; + + return OK; +} + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // 确定新的尾结点位置 + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/CLion/CourseBook/0210_MergeEList/ELinkList.h b/CLion/CourseBook/0210_MergeEList/ELinkList.h new file mode 100644 index 0000000..d6a031f --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/ELinkList.h @@ -0,0 +1,155 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include // 提供一些极限常量 +#include "Status.h" //**▲01 绪论**// + +/* + * ████ 注意 ████ + * + * 教材中的线性链表命名为LinkList, + * 这里为了与单链表区分,故将其命名为ELinkList。 + * 线性链表可以理解成对普通链表的一种扩展。 + */ + +/* 线性链表元素类型定义 */ +typedef int ElemType; + +/* + * 线性链表结构 + * + * 注:这里的线性链表存在头结点 + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* 维护线性链表头尾指针及长度信息 */ +typedef struct { + Link head, tail; // 分别指向线性链表中的头结点和尾结点 + int len; // 指示线性链表中数据元素的个数 +} ELinkList; + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e); + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L); + +/* + * ████████ 算法2.20 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + * 可以看做是算法2.9的改写 + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p); + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L); + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p); + +/* + * 查找 + * + * 查找链表L中第i(允许为0)个结点,并将其引用存入p,且返回OK + * 如果i值不合规,则返回ERROR + * 特别注意,当i为0时,p存储的是头结点的引用 + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/CLion/CourseBook/0210_MergeEList/MergeEList-main.c b/CLion/CourseBook/0210_MergeEList/MergeEList-main.c new file mode 100644 index 0000000..dfc2a84 --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/MergeEList-main.c @@ -0,0 +1,71 @@ +#include +#include "MergeEList.h" //**▲02 线性表**// + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} + +/* + * 比较 + * + * 比较e1和e2的大小,返回值含义如下: + * < 0:e1 < e2 + * = 0:e1 = e2 + * > 0:e1 > e2 + */ +int Cmp(ElemType e1, ElemType e2) { + return e1 - e2; +} + +/* + * 尾插法创建链表 + * + *【备注】 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件fp中读取测试数据。 + */ +void CreateList_Tail(char path[], ELinkList* L) { + FILE* fp; + int i, n; + ElemType e; + + fp = fopen(path, "r"); + if(fp == NULL) { + printf("文件打开失败...\n"); + exit(ERROR); + } + + // 读取指定集合中元素的数量 + ReadData(fp, "%d", &n); + + InitList(L); + + for(i = 1; i <= n; i++) { + ReadData(fp, "%d", &e); + ListInsert(L, i, e); + } + + fclose(fp); +} + + +int main(int argc, char** argv) { + ELinkList La, Lb, Lc; + + printf("创建La和Lb以待测试...\n"); + + CreateList_Tail("TestData_La.txt", &La); + printf("La= "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Lb.txt", &Lb); + printf("Lb= "); + ListTraverse(Lb, PrintElem); + + MergeEList(&La, &Lb, &Lc, Cmp); + printf("合并La和Lb为 Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} diff --git a/CLion/CourseBook/0210_MergeEList/MergeEList.c b/CLion/CourseBook/0210_MergeEList/MergeEList.c new file mode 100644 index 0000000..9984ca1 --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/MergeEList.c @@ -0,0 +1,75 @@ +/*=============== + * 归并非降序链表 + * + * 包含算法: 2.21 + ================*/ + +#include "MergeEList.h" + +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)){ + Link ha, hb, pa, pb, q; + ElemType a, b; + + if(InitList(Lc) == ERROR) { + return ERROR; + } + + ha = GetHead(*La); // 指向La头结点 + hb = GetHead(*Lb); // 指向Lb头结点 + + // 保证La和Lb是有效的链表,不过有可能是空表 + if(ha == NULL || hb ==NULL) { + return ERROR; + } + + pa = NextPos(*La, ha); // 指向La第1个元素 + pb = NextPos(*La, hb); // 指向Lb第1个元素 + + // 遍历La和Lb,选出较小的元素,依次加入到Lc中 + while(pa !=NULL && pb!=NULL){ + a = GetCurElem(pa); + b = GetCurElem(pb); + + // 如果La<=Lb + if(Compare(a, b)<=0) { + // 摘下La中首个元素 + DelFirst(La, ha, &q); + + // 将上述摘下的元素追加到Lc中 + Append(Lc, q); + + // 依然是获取La中第1个元素 + pa = NextPos(*La, ha); + } else { + // 摘下Lb中首个元素 + DelFirst(Lb, hb, &q); + + // 将上述摘下的元素追加到Lc中 + Append(Lc, q); + + // 依然是获取La中第1个元素 + pb = NextPos(*Lb, hb); + } + } + + // 如果La还有剩余 + if(pa!=NULL) { + Append(Lc, pa); + } else { + Append(Lc, pb); + } + + // 释放La的头结点。教材中这里是对ha操作,但是那样无法置空La的头指针,因而这里做了修改 + FreeNode(&(La->head)); + + // 释放Lb的头结点。教材中这里是对hb操作,但是那样无法置空Lb的头指针,因而这里做了修改 + FreeNode(&(Lb->head)); + + La->tail = NULL; + Lb->tail = NULL; + + La->len = 0; + Lb->len = 0; + + return OK; +} \ No newline at end of file diff --git a/CLion/CourseBook/0210_MergeEList/MergeEList.h b/CLion/CourseBook/0210_MergeEList/MergeEList.h new file mode 100644 index 0000000..7c084b7 --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/MergeEList.h @@ -0,0 +1,36 @@ +/*=============== + * 归并非降序链表 + * + * 包含算法: 2.21 + ================*/ + +#ifndef MERGEELIST_H +#define MERGEELIST_H + +#include +#include "Status.h" //**▲01 绪论**// +#include "ELinkList.h" //**▲02 线性表**// + +/* + * ████ 注意 ████ + * + * 为了与之前的归并算法名称区分,这里将算法名称命名为MergeEList(教材中的名称是MergeList_L) + */ + +/* + * ████████ 算法2.21 ████████ + * + * 非递减链表归并:C=A+B + * + * 将链表A和B归并为C,且保持元素相对位置不变。 + * 归并结束后,会销毁La和Lb。 + */ +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)); + +/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +┃(01)算法2.21:La与Lb均非递减排列,将其归并为一个非递减排列的单链表Lc。┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/ + + + +#endif diff --git a/CLion/CourseBook/0210_MergeEList/TestData_La.txt b/CLion/CourseBook/0210_MergeEList/TestData_La.txt new file mode 100644 index 0000000..fddd3cc --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/TestData_La.txt @@ -0,0 +1,2 @@ +集合A的长度:6 +La = 1 2 3 5 7 8 \ No newline at end of file diff --git a/CLion/CourseBook/0210_MergeEList/TestData_Lb.txt b/CLion/CourseBook/0210_MergeEList/TestData_Lb.txt new file mode 100644 index 0000000..9ae416c --- /dev/null +++ b/CLion/CourseBook/0210_MergeEList/TestData_Lb.txt @@ -0,0 +1,2 @@ +集合B的长度:7 +Lb = 2 4 5 8 10 11 13 \ No newline at end of file diff --git a/CLion/CourseBook/0211_Polynomial/CMakeLists.txt b/CLion/CourseBook/0211_Polynomial/CMakeLists.txt new file mode 100644 index 0000000..b373b99 --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/CMakeLists.txt @@ -0,0 +1,12 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件 +add_executable(Polynomial ELinkList.h ELinkList.c Polynomial.h Polynomial.c Polynomial-main.c) +# 链接公共库 +target_link_libraries(Polynomial Scanf_lib) + +# 记录要拷贝到*.exe目录下的资源文件 +file(GLOB TestData TestData*.txt) +# 将资源文件拷贝到*.exe目录下,不然无法加载 +file(COPY ${TestData} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/CLion/CourseBook/0211_Polynomial/ELinkList.c b/CLion/CourseBook/0211_Polynomial/ELinkList.c new file mode 100644 index 0000000..3d6467c --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/ELinkList.c @@ -0,0 +1,338 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#include "ELinkList.h" //**▲02 线性表**// + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // 申请空间 + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // 这里没有退出程序,而是返回错误提示 + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // 创建头结点 + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // 只有头结点时,首位游标指向自身 + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * 销毁(结构) + * + * 释放链表所占内存。 + */ +Status DestroyList(ELinkList* L) { + + // 链表不存在时没必要销毁 + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // 没有有效元素时不需要清理 + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // 指向第1个元素 + p = (*L).head->next; + + // 释放所有元素所占内存 + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * 查找 + * + * 这个查找函数与传统的版本不一样。 + * 这里首先会查找与元素e满足Compare()==0的元素,如果找到,使用q存储其引用,并返回True。 + * 如果不存在上述引用,则查找首个与元素e满足Compare()>0的元素的前驱,并返回FALSE。 + * 如果链表中的元素均大于e,q存储头结点引用。 + * 如果链表中的元素均小于e,q存储尾结点引用。 + * 其它情形下,会将q置空。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)) { + Position pre, p; + + *q = NULL; + + // 链表不存在,返回错误信息 + if(L.head == NULL) { + return FALSE; + } + + pre = L.head; + p = pre->next; + + while(p != NULL && Compare(p->data, e) < 0) { + pre = p; + p = p->next; + } + + // 找到了与e满足"相等"条件的元素 + if(p != NULL && Compare(p->data, e) == 0) { + *q = p; + return TRUE; + } + + // 所有元素均小于e,或者p元素大于e,又或者为空表 + *q = pre; + + return FALSE; +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p) { + ElemType e; + + if(p == NULL) { + e.coef = 0.0f; + e.expn = -1; + return e; + } + + return p->data; +} + +/* + * 设值 + * + * 为结点p设置元素值。 + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p) { + + // 确保链表(头结点)存在 + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // 若h为尾结点,则需要更新尾结点 + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // 如果没有结点可删除,返回错误信息 + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // 将被删除结点变成孤立的结点 + (*q)->next = NULL; + + // 如果h后只有一个结点,更改尾结点指针 + if(h->next == NULL) { + (*L).tail = h; + } + + // 并不释放被删结点所占空间 + (*L).len--; + + return OK; +} + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // 确定新的尾结点位置 + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/CLion/CourseBook/0211_Polynomial/ELinkList.h b/CLion/CourseBook/0211_Polynomial/ELinkList.h new file mode 100644 index 0000000..cc377ab --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/ELinkList.h @@ -0,0 +1,175 @@ +/*======================= + * 扩展的单链表(线性链表) + * + * 包含算法: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include // 提供一些极限常量 +#include "Status.h" //**▲01 绪论**// + +/* + * ████ 注意 ████ + * + * 教材中的线性链表命名为LinkList, + * 这里为了与单链表区分,故将其命名为ELinkList。 + * 线性链表可以理解成对普通链表的一种扩展。 + */ + +/* + * 线性链表元素类型定义 + * 这里用在多项式中,用到了结构体类型的元素 + */ +typedef struct { + float coef; // 多项式系数 + int expn; // 多项式指数 +} ElemType; // 重新定义扩展的线性表中元素类型 + +/* + * 线性链表结构 + * + * 注:这里的线性链表存在头结点 + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* 维护线性链表头尾指针及长度信息 */ +typedef struct { + Link head, tail; // 分别指向线性链表中的头结点和尾结点 + int len; // 指示线性链表中数据元素的个数 +} ELinkList; + + +/*━━━━━━━━━━━━━━━━━━━━━━ 内存操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 内存分配 + * + * 为线性链表申请一个结点,并存入指定的数据e。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +Status MakeNode(Link* p, ElemType e); + +/* + * 内存回收 + * + * 释放线性链表中指定的结点。 + * + *【备注】 + * static修饰的含义是该函数仅限当前文件内使用 + */ +void FreeNode(Link* p); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表常规操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(ELinkList* L); + +/* + * 销毁(结构) + * + * 释放链表所占内存。 + */ +Status DestroyList(ELinkList* L); + +/* + * 置空(内容) + * + * 这里需要释放链表中非头结点处的空间。 + */ +Status ClearList(ELinkList* L); + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(ELinkList L); + +/* + * 查找 + * + * 这个查找函数与传统的版本不一样。 + * 这里首先会查找与元素e满足Compare()==0的元素,如果找到,使用q存储其引用,并返回True。 + * 如果不存在上述引用,则查找首个与元素e满足Compare()>0的元素的前驱,并返回FALSE。 + * 如果链表中的元素均大于e,q存储头结点引用。 + * 如果链表中的元素均小于e,q存储尾结点引用。 + * 其它情形下,会将q置空。 + * + *【备注】 + * 1.元素e是Compare函数第二个形参 + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 链表扩展操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 取值 + * + * 获取结点p的元素值。 + */ +ElemType GetCurElem(Link p); + +/* + * 设值 + * + * 为结点p设置元素值。 + */ +Status SetCurElem(Link p, ElemType e); + +/* + * 头结点 + * + * 获取头结点引用。 + */ +Position GetHead(ELinkList L); + +/* + * 后继 + * + * 获取结点p的后继,如果不存在,则返NULL。 + */ +Position NextPos(ELinkList L, Link p); + +/* + * 插入 + * + * 将s结点插入到h结点后面,成为h后面的第一个结点 + * + *【备注】 + * 教材中对于该方法的描述有些问题,这里是修正过的版本 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * 删除 + * + * 删除h结点后的第一个结点,并用q存储被删除结点的引用 + * + *【备注】 + * 教材中对于该方法的定义略显粗糙,这里是修正过的版本 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * 向尾部添加 + * + * 将s所指的一串结点链接在链表L后面 + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/CLion/CourseBook/0211_Polynomial/Polynomial-main.c b/CLion/CourseBook/0211_Polynomial/Polynomial-main.c new file mode 100644 index 0000000..ff14ee8 --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/Polynomial-main.c @@ -0,0 +1,79 @@ +#include "Polynomial.h" //**▲02 线性表**// + +int main(int argc, char **argv) { + Polynomial Pa, Pb; + int m, n; + + m = 5; + n = 6; + + printf("████████ CreatPolyn \n"); + { + printf("█ 作为示范,创建项数为 %d 的多项式Pa...\n", m); + CreatPolyn("TestData_Pa.txt", &Pa, m); + + printf("█ 作为示范,创建项数为 %d 的多项式Pb...\n", n); + CreatPolyn("TestData_Pb.txt", &Pb, n); + } + PressEnterToContinue(); + + + printf("████████ PrintPolyn \n"); + { + printf("█ 一元多项式 Pa = "); + PrintPolyn(Pa); + + printf("█ 一元多项式 Pb = "); + PrintPolyn(Pb); + } + PressEnterToContinue(); + + + printf("████████ PolynLength \n"); + { + printf("█ La 的项数为 %d ,Lb 的项数为 %d\n", PolynLength(Pa), PolynLength(Pb)); + } + PressEnterToContinue(); + + + printf("████████ AddPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + AddPolyn(&Pa, &Pb); + + printf("█ Pa = Pa + Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf("████████ SubtractPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + SubtractPolyn(&Pa, &Pb); + + printf("█ Pa = Pa - Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf("████████ MultiplyPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + MultiplyPolyn(&Pa, &Pb); + + printf("█ Pa = Pa * Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/CLion/CourseBook/0211_Polynomial/Polynomial.c b/CLion/CourseBook/0211_Polynomial/Polynomial.c new file mode 100644 index 0000000..954b507 --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/Polynomial.c @@ -0,0 +1,397 @@ +/*======================== + * 一元多项式(基于线性链表) + * + * 包含算法: 2.22、2.23 + =========================*/ + +#include "Polynomial.h" + + +/*━━━━━━━━━━━━━━━━━━━━━━ 一元多项式操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.22 ████████ + * + * 创建 + * + * 根据输入的系数和指数,创建项数为m的一元多项式 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据 + */ +void CreatPolyn(char path[], Polynomial* P, int m) { + FILE* fp; + int i; + ElemType e; + Position h, q; + Link s; + + // 初始化一个线性链表存放一元多项式 + InitList(P); + + // 获取多项式头指针 + h = GetHead(*P); + + // 为头结点填充数据 + e.coef = 0.0f; + e.expn = -1; + SetCurElem(h, e); + + // 打开文件,准备读取测试数据 + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // 依次录入m个有效项 + for(i = 1; i <= m; i++) { + // 读取系数和指数信息,临时存入e + ReadData(fp, "%f%d", &(e.coef), &(e.expn)); + + // 如果当前链表中不存在该指数项 + if(LocateElem(*P, e, &q, Cmp) == FALSE && q != NULL) { + // 创建新结点 + if(MakeNode(&s, e) == OK) { + // 在q结点之后插入s + InsFirst(P, q, s); + } + } + } + + fclose(fp); +} + +/* + * 销毁 + * + * 销毁一元多项式。 + */ +void DestroyPolyn(Polynomial* P) { + DestroyList(P); +} + +/* + * 计数 + * + * 返回一元多项式的项数。 + */ +int PolynLength(Polynomial P) { + return ListLength(P); +} + +/* + * ████████ 算法2.23 ████████ + * + * 加法 + * + * 一元多项式加法Pa=Pa+Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void AddPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + ElemType a, b; + float sum; + + // ha、hb分别指向Pa、Pb头结点 + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qa、qb分别指向Pa、Pb的当前结点 + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qa、qb均非空 + while(qa && qb) { + // a和b为两表中当前比较元素 + a = GetCurElem(qa); + b = GetCurElem(qb); + + //比较当前元素的指数大小 + switch(Cmp(a, b)) { + // 多项式Pa中当前结点的指数值较小 + case -1: { + ha = qa; + qa = NextPos(*Pa, qa); + } + break; + + // 两者数值相等 + case 0: { + sum = a.coef + b.coef; + + // 相加不能抵消时更新Pa结点的系数值 + if(sum != 0.0) { + // 这里用SetCurElem()不合适,不如直接赋值 + qa->data.coef = sum; + // ha后移 + ha = qa; + + //相加抵消时,删除Pa中当前结点 + } else { + // 删除ha后面的结点(其实删的就是qa) + DelFirst(Pa, ha, &qa); + // 释放被删除结点所占空间 + FreeNode(&qa); + } + + // 删除Pb中扫描过的结点 + DelFirst(Pb, hb, &qb); + // 释放被删除结点所占空间 + FreeNode(&qb); + + // qa、qb均后移 + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // 多项式Pb中当前结点的指数值较小 + case 1: { + // 摘下Pb当前结点 + DelFirst(Pb, hb, &qb); + + // 将摘下结点链入Pa中 + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // 若Pb还未扫描完,将剩余项链接到Pa后 + if(qb != NULL) { + Append(Pa, qb); + } + + // 释放Pb头结点 + FreeNode(&hb); + + // 设置Pb为销毁状态 + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * 减法 + * + * 一元多项式减法Pa=Pa-Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void SubtractPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + Position r; + ElemType a, b; + float sum; + + // ha、hb分别指向Pa、Pb头结点 + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qa、qb分别指向Pa、Pb的当前结点 + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qa、qb均非空 + while(qa && qb) { + // a和b为两表中当前比较元素 + a = GetCurElem(qa); + b = GetCurElem(qb); + + // 比较当前元素的指数大小 + switch(Cmp(a, b)) { + // 多项式Pa中当前结点的指数值较小 + case -1: { + ha = qa; + qa = NextPos(*Pa, ha); + } + break; + + // 两者数值相等 + case 0: { + sum = a.coef - b.coef; + + // 相减不能抵消时更新Pa结点的系数值 + if(sum != 0.0) { + // 更新系数 + qa->data.coef = sum; + // ha后移 + ha = qa; + + // 相减抵消时,删除Pa中当前结点 + } else { + // 删除ha后面的结点(其实删的就是qa) + DelFirst(Pa, ha, &qa); + // 释放被删除结点所占空间 + FreeNode(&qa); + } + + // 删除Pb中扫描过的结点 + DelFirst(Pb, hb, &qb); + // 释放被删除结点所占空间 + FreeNode(&qb); + + // qa、qb均后移 + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // 多项式Pb中当前结点的指数值较小 + case 1: { + // 摘下Pb当前结点 + DelFirst(Pb, hb, &qb); + + // 改变当前结点符号 + qb->data.coef = -qb->data.coef; + + // 将摘下结点链入Pa中 + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // 若Pb还未扫描完,将剩余项的系数取反后链接到Pa后 + if(qb != NULL) { + // 改变剩余项的符号 + for(r = qb = 0; r != NULL; r = r->next) { + r->data.coef = -r->data.coef; + } + + Append(Pa, qb); + } + + // 释放Pb头结点 + FreeNode(&hb); + + // 设置Pb为销毁状态 + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * 乘法 + * + * 一元多项式乘法Pa=Pa*Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void MultiplyPolyn(Polynomial* Pa, Polynomial* Pb) { + Polynomial Pc, Ptmp; + int i, j, la, lb; + Position ha, hb; + Position qa, qb; + Link s; + ElemType e; + + // 获取两个多项式的长度 + la = PolynLength(*Pa); + lb = PolynLength(*Pb); + + // ha、hb分别指向Pa、Pb头结点 + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // 累加计算结果 + InitList(&Pc); + + // 遍历Pa中的元素 + for(i = 1; i <= la; i++) { + // 存储临时计算结果 + InitList(&Ptmp); + + // 逐个摘下Pa中的结点 + DelFirst(Pa, ha, &qa); + + // 遍历Pb中所有结点,与Pa中摘下的结点进行运算 + for(j = 1, qb = NextPos(*Pb, hb); j <= lb; j++, qb = NextPos(*Pb, qb)) { + e.coef = qa->data.coef * qb->data.coef; //系数相乘 + e.expn = qa->data.expn + qb->data.expn; //指数相加 + + // 创建新结点存储结算结果 + MakeNode(&s, e); + + // 添加到临时多项式 + Append(&Ptmp, s); + } + + // 将新的多项式累加到Pc上 + AddPolyn(&Pc, &Ptmp); + } + + // 将所有结果添加到Pa上 + AddPolyn(Pa, &Pc); + + // 销毁多项式Pb + DestroyPolyn(Pb); +} + + +/*━━━━━━━━━━━━━━━━━━━━━━ 基础操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 输出 + * + * 打印输出一元多项式。 + */ +void PrintPolyn(Polynomial P) { + int i; + Link p; + + p = P.head->next; + for(i = 1; i <= P.len; i++) { + if(p->data.coef == 0.0f) { + continue; + } + + if(i == 1) { + printf("%g", p->data.coef); + } else { + if(p->data.coef > 0) { + printf(" + "); + printf("%g", p->data.coef); + } else { + printf(" - "); + printf("%g", -p->data.coef); + } + } + + if(p->data.expn) { + printf("x"); + + if(p->data.expn != 1) { + printf("^%d", p->data.expn); + } + } + + p = p->next; + } + + printf("\n"); +} + +/* + * 比较 + * + * 比较c1项和c2项指数大小。 + */ +int Cmp(ElemType c1, ElemType c2) { + // 计算指数差 + int i = c1.expn - c2.expn; + + if(i < 0) { + return -1; + } else if(i == 0) { + return 0; + } else { + return 1; + } +} diff --git a/CLion/CourseBook/0211_Polynomial/Polynomial.h b/CLion/CourseBook/0211_Polynomial/Polynomial.h new file mode 100644 index 0000000..2f533db --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/Polynomial.h @@ -0,0 +1,91 @@ +/*======================== + * 一元多项式(基于线性链表) + * + * 包含算法: 2.22、2.23 + =========================*/ + +#ifndef POLYNOMIAL_H +#define POLYNOMIAL_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "ELinkList.h" //**▲02 线性表**// + +/* 一元多项式类型定义 */ +typedef ELinkList Polynomial; + + +/*━━━━━━━━━━━━━━━━━━━━━━ 一元多项式操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * ████████ 算法2.22 ████████ + * + * 创建 + * + * 根据输入的系数和指数,创建项数为m的一元多项式 + * + *【备注】 + * 教材中默认从控制台读取数据。 + * 这里为了方便测试,避免每次运行都手动输入数据, + * 因而选择了从预设的文件path中读取测试数据 + */ +void CreatPolyn(char path[], Polynomial *P, int m); + +/* + * 销毁 + * + * 销毁一元多项式。 + */ +void DestroyPolyn(Polynomial *P); + +/* + * 计数 + * + * 返回一元多项式的项数。 + */ +int PolynLength(Polynomial P); + +/* + * ████████ 算法2.23 ████████ + * + * 加法 + * + * 一元多项式加法Pa=Pa+Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void AddPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * 减法 + * + * 一元多项式减法Pa=Pa-Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void SubtractPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * 乘法 + * + * 一元多项式乘法Pa=Pa*Pb, + * 计算完成后,计算结果存到Pa中,并将Pb销毁。 + */ +void MultiplyPolyn(Polynomial *Pa, Polynomial *Pb); + + +/*━━━━━━━━━━━━━━━━━━━━━━ 基础操作 ━━━━━━━━━━━━━━━━━━━━━━*/ + +/* + * 输出 + * + * 打印输出一元多项式。 + */ +void PrintPolyn(Polynomial P); + +/* + * 比较 + * + * 比较c1项和c2项指数大小。 + */ +int Cmp(ElemType c1, ElemType c2); + +#endif diff --git a/CLion/CourseBook/0211_Polynomial/TestData_Pa.txt b/CLion/CourseBook/0211_Polynomial/TestData_Pa.txt new file mode 100644 index 0000000..e72f216 --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/TestData_Pa.txt @@ -0,0 +1 @@ +Pa = (2.1 , 1) (5.3 , 7) (4.0 , 3) (2.5 , 9) (-3.12 , 5) \ No newline at end of file diff --git a/CLion/CourseBook/0211_Polynomial/TestData_Pb.txt b/CLion/CourseBook/0211_Polynomial/TestData_Pb.txt new file mode 100644 index 0000000..2940e87 --- /dev/null +++ b/CLion/CourseBook/0211_Polynomial/TestData_Pb.txt @@ -0,0 +1 @@ +Pb = (0.5 , 12) (-3.17 , 4) (3.4 , 2) (-2.5 , 9) (4.1 , 5) (1.8 , 8) \ No newline at end of file diff --git a/CLion/CourseBook/CMakeLists.txt b/CLion/CourseBook/CMakeLists.txt new file mode 100644 index 0000000..b08f9c3 --- /dev/null +++ b/CLion/CourseBook/CMakeLists.txt @@ -0,0 +1,11 @@ +add_subdirectory(0201_SqList) +add_subdirectory(0202_Union) +add_subdirectory(0203_MergeSqList) +add_subdirectory(0204_LinkList) +add_subdirectory(0205_MergeList) +add_subdirectory(0206_SLinkList) +add_subdirectory(0207_Difference) +add_subdirectory(0208_DuLinkList) +add_subdirectory(0209_ELinkList) +add_subdirectory(0210_MergeEList) +add_subdirectory(0211_Polynomial) diff --git a/CLion/ExerciseBook/01.16/01.16.c b/CLion/ExerciseBook/01.16/01.16.c new file mode 100644 index 0000000..0fdbc51 --- /dev/null +++ b/CLion/ExerciseBook/01.16/01.16.c @@ -0,0 +1,53 @@ +#include + +/* + * 题1.16 + * + * 将3个整数按从大到小顺序输出 + */ +void Algo_1_16(int *x, int *y, int *z); + + +int main(int argc, char* argv[]) { + int x, y, z; + + x = 3; + y = 7; + z = 1; + + printf("作为示范,设定输入为:%d %d %d...\n", x, y, z); + + // 进行排序 + Algo_1_16(&x, &y, &z); + + printf("将其从大到小排序后为:%d %d %d...\n", x, y, z); + + return 0; +} + + +// 将3个整数按从大到小顺序输出 +void Algo_1_16(int *x, int *y, int *z) { + int tmp; + + // 确保x>=y + if(*x < *y) { + tmp = *x; + *x = *y; + *y = tmp; + } + + // 确保z>=y + if(*y < *z) { + tmp = *y; + *y = *z; + *z = tmp; + } + + // 确保x>=z + if(*x < *z) { + tmp = *x; + *x = *z; + *z = tmp; + } +} diff --git a/CLion/ExerciseBook/01.16/CMakeLists.txt b/CLion/ExerciseBook/01.16/CMakeLists.txt new file mode 100644 index 0000000..4c1535d --- /dev/null +++ b/CLion/ExerciseBook/01.16/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(01.16 01.16.c) +target_link_libraries(01.16 Scanf_lib) \ No newline at end of file diff --git a/CLion/ExerciseBook/01.17/01.17.c b/CLion/ExerciseBook/01.17/01.17.c new file mode 100644 index 0000000..f48ad7f --- /dev/null +++ b/CLion/ExerciseBook/01.17/01.17.c @@ -0,0 +1,86 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* + * 题1.17———方法1:递归算法 + * + * 计算k阶斐波那契数列第m项的值 + * + * 注:计算结果是int类型,当项数过大时会溢出 + */ +int Algo_1_17_1(int k, int m); + +/* + * 题1.17———方法2:递推(迭代)算法 + * + * 计算k阶斐波那契数列第m项的值 + * + * 注:计算结果是int类型,当项数过大时会溢出 + */ +int Algo_1_17_2(int k, int m); + + +int main(int argc, char* argv[]) { + int k, m; + + k = 3; + m = 20; + + printf("作为示范,求得 %d 阶斐波那契数列第 %d 项的值为:%d \n", k, m, Algo_1_17_1(k, m)); + + printf("作为示范,求得 %d 阶斐波那契数列第 %d 项的值为:%d \n", k, m, Algo_1_17_2(k, m)); + + return 0; +} + + +// 计算k阶斐波那契数列第m项的值 +int Algo_1_17_1(int k, int m) { + int i, value; + + if(k < 2 || m < 0) { + exit(OVERFLOW); + } + + if(m < k - 1) { + return 0; + } else if(m == k - 1) { + return 1; + } else { + for(i = 1, value = 0; i <= k; i++) { + value += Algo_1_17_1(k, m - i); + } + + return value; + } +} + +// 计算k阶斐波那契数列第m项的值 +int Algo_1_17_2(int k, int m) { + int i, j; + int* fib; + + if(k < 1 || m < 0) { + exit(OVERFLOW); + } + + // 创建fib数组 + fib = (int*) malloc((m + 1) * sizeof(int)); + + // 初始化前k-1项为0 + for(i = 0; i < k - 1; i++) { + fib[i] = 0; + } + + fib[k - 1] = 1; + + for(i = k; i <= m; ++i) { + // 累加前k项 + for(j = i - 1, fib[i] = 0; j >= i - k; j--) { + fib[i] += fib[j]; + } + } + + return fib[m]; +} diff --git a/CLion/ExerciseBook/01.17/CMakeLists.txt b/CLion/ExerciseBook/01.17/CMakeLists.txt new file mode 100644 index 0000000..2807681 --- /dev/null +++ b/CLion/ExerciseBook/01.17/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(01.17 01.17.c) +target_link_libraries(01.17 Scanf_lib) \ No newline at end of file diff --git a/CLion/ExerciseBook/01.19/01.19.c b/CLion/ExerciseBook/01.19/01.19.c new file mode 100644 index 0000000..4e8a0cb --- /dev/null +++ b/CLion/ExerciseBook/01.19/01.19.c @@ -0,0 +1,55 @@ +#include +#include // 提供宏INT_MAX +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define arrsize 20 //数组长度 +#define maxint INT_MAX //最大的整数 + +/* + * 题1.17 + * + * 计算i!*2^i的值,并存入a[i-1],i∈[1, arrsize] + * + * i!*2^i = (i-1)!*2^(i-1) * i * 2 + */ +Status Algo_1_19(int i, int a[]); + + +int main(int argc, char* argv[]) { + int i, a[arrsize]; + + i = 5; + + printf("计算i!*2^i...\n"); + + if(Algo_1_19(i, a) == OK) { + printf("作为示例,计算当i = %d 时,a[i-1] = %d\n", i, a[i - 1]); + } + + return 0; +} + + +// 计算i!*2^i的值 +Status Algo_1_19(int i, int a[]) { + int j; + + if(i < 1 || i > arrsize) { + return ERROR; + } + + // 计算i==1时的情形 + a[0] = 2; + + // 计算i>1时的情形 + for(j = 2; j <= i; j++) { + if(maxint / (2 * j) < a[j - 2]) { + return OVERFLOW; + } + + a[j - 1] = a[j - 2] * j * 2; + } + + return OK; +} diff --git a/CLion/ExerciseBook/01.19/CMakeLists.txt b/CLion/ExerciseBook/01.19/CMakeLists.txt new file mode 100644 index 0000000..1bddffb --- /dev/null +++ b/CLion/ExerciseBook/01.19/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(01.19 01.19.c) +target_link_libraries(01.19 Scanf_lib) \ No newline at end of file diff --git a/CLion/ExerciseBook/01.20/01.20.c b/CLion/ExerciseBook/01.20/01.20.c new file mode 100644 index 0000000..d67a411 --- /dev/null +++ b/CLion/ExerciseBook/01.20/01.20.c @@ -0,0 +1,34 @@ +#include +#include //提供pow原型 + +/* + * 题1.20 + * + * 计算多项式Pn(Xo)的值 + */ +double Algo_1_20(int a[], int x, int n); + + +int main(int argc, char* argv[]) { + int a[5] = {-2, 3, 6, -8, 7}; + int n = 5; + int Xo = 3; + + printf("作为示范,设定项数n = 5,变量Xo = 3,计算Pn(Xo)...\n"); + printf("P%d(%d) = %f\n", n, Xo, Algo_1_20(a, Xo, n)); + + return 0; +} + + +// 计算多项式Pn(Xo)的值 +double Algo_1_20(int a[], int x, int n) { + int i; + double tmp; + + for(i = 1, tmp = 0; i <= n; i++) { + tmp += a[i - 1] * pow(x, i - 1); + } + + return tmp; +} \ No newline at end of file diff --git a/CLion/ExerciseBook/01.20/CMakeLists.txt b/CLion/ExerciseBook/01.20/CMakeLists.txt new file mode 100644 index 0000000..486be06 --- /dev/null +++ b/CLion/ExerciseBook/01.20/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(01.20 01.20.c) +target_link_libraries(01.20 Scanf_lib) \ No newline at end of file diff --git a/CLion/ExerciseBook/02.10/02.10.c b/CLion/ExerciseBook/02.10/02.10.c new file mode 100644 index 0000000..de869e0 --- /dev/null +++ b/CLion/ExerciseBook/02.10/02.10.c @@ -0,0 +1,68 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.10 + * + * 删除顺序表中从第i个元素起的k个元素 + * 如果i和k的值不合规,则顺序表不会有变化 + */ +Status Algo_2_10(SqList* a, int i, int k); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // 初始化顺序表 + InitList(&L); + + // 填充值 + for(i = 1; i <= 15; i++) { + ListInsert(&L, i, i); + } + + printf("删除前:L = "); + ListTraverse(L, PrintElem); + + printf("删除第 6 个元素起的 5 个元素...\n"); + Algo_2_10(&L, 6, 5); + + printf("删除后:L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// 删除顺序表中从第i个元素起的k个元素 +Status Algo_2_10(SqList* a, int i, int k) { + int j; + + // 确保顺序表存在 + if(a == NULL || a->elem == NULL) { + return ERROR; + } + + // 下标越界 + if(i < 1 || i > (*a).length || k < 0 || i + k - 1 > (*a).length) { + return ERROR; + } + + for(j = i; j <= i + k - 1; j++) { + (*a).elem[j - 1] = (*a).elem[j + k - 1]; + } + + (*a).length -= k; + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.10/CMakeLists.txt b/CLion/ExerciseBook/02.10/CMakeLists.txt new file mode 100644 index 0000000..1b638be --- /dev/null +++ b/CLion/ExerciseBook/02.10/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.10 SqList.h SqList.c 02.10.c) +target_link_libraries(02.10 Scanf_lib) diff --git a/CLion/ExerciseBook/02.10/SqList.c b/CLion/ExerciseBook/02.10/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.10/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.10/SqList.h b/CLion/ExerciseBook/02.10/SqList.h new file mode 100644 index 0000000..23a33a2 --- /dev/null +++ b/CLion/ExerciseBook/02.10/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.11/02.11.c b/CLion/ExerciseBook/02.11/02.11.c new file mode 100644 index 0000000..6065f72 --- /dev/null +++ b/CLion/ExerciseBook/02.11/02.11.c @@ -0,0 +1,92 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.11 + * + * 将x插入到递增序列va中 + */ +Status Algo_2_11(SqList* va, ElemType x); + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // 初始化顺序表 + InitList(&L); + + // 填充值 + for(i = 1; i <= 5; i++) { + ListInsert(&L, i, 2 * i); + } + + printf("插入前:L = "); + ListTraverse(L, PrintElem); + + printf("将元素\"5\"插入到顺序表中...\n"); + Algo_2_11(&L, 5); + + printf("插入后:L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// 将x插入到递增序列va中 +Status Algo_2_11(SqList* va, ElemType x) { + int i, j; + ElemType* newbase; + + // 确保顺序表存在 + if(va == NULL || va->elem == NULL) { + return ERROR; + } + + // 若存储空间已满,需开辟新空间 + if((*va).length == (*va).listsize) { + newbase = (ElemType*) realloc((*va).elem, ((*va).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + exit(OVERFLOW); + } + + (*va).elem = newbase; + (*va).listsize += LISTINCREMENT; + } + + // 查找顺序表中首个大于元素x的元素位序,这个位序就是x需要插入的位置 + i = LocateElem(*va, x, CmpGreater); + if(i == 0) { + // 需要插入到顺序表最后 + i = (*va).length + 1; + } + + // 元素后移,腾出位置。注意j是位序,减1之后才是索引 + for(j=(*va).length + 1; j>i; j--){ + (*va).elem[j-1] = (*va).elem[j-2]; + } + + (*va).elem[j-1] = x; + (*va).length++; + + return OK; +} + +// 判断data>e是否成立 +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.11/CMakeLists.txt b/CLion/ExerciseBook/02.11/CMakeLists.txt new file mode 100644 index 0000000..8acae15 --- /dev/null +++ b/CLion/ExerciseBook/02.11/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.11 SqList.h SqList.c 02.11.c) +target_link_libraries(02.11 Scanf_lib) diff --git a/CLion/ExerciseBook/02.11/SqList.c b/CLion/ExerciseBook/02.11/SqList.c new file mode 100644 index 0000000..8b520e1 --- /dev/null +++ b/CLion/ExerciseBook/02.11/SqList.c @@ -0,0 +1,142 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // 确保顺序表结构存在 + if(L.elem == NULL) { + return ERROR; + } + + /* + * i的初值为第1个元素的位序 + * + * 其实,更自然的写法是将i初始化为第1个元素的索引 + * 但由于教材中是按位序计数的,所以这里仍写作位序 + */ + i = 1; + + // p的初值为第1个元素的存储位置 + p = L.elem; + + // 遍历顺序表 + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.11/SqList.h b/CLion/ExerciseBook/02.11/SqList.h new file mode 100644 index 0000000..34d50a5 --- /dev/null +++ b/CLion/ExerciseBook/02.11/SqList.h @@ -0,0 +1,74 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.6 ████████ + * + * 查找 + * + * 返回顺序表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.12/02.12.c b/CLion/ExerciseBook/02.12/02.12.c new file mode 100644 index 0000000..f4fe844 --- /dev/null +++ b/CLion/ExerciseBook/02.12/02.12.c @@ -0,0 +1,86 @@ +#include +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.12 + * + * 比较顺序表大小,比较策略是从左向右遍历两个顺序表, + * 遇到首对不同的元素时,根据该元素的大小关系,确定顺序表的大小关系 + * + * 返回值是-1、0、1,分别代表AB + */ +int Algo_2_12(SqList A, SqList B); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + int i, mark; + SqList A, B; + + int a[7] = {1, 2, 3, 4, 5, 9, 12}; + int b[7] = {1, 2, 3, 4, 5, 11, 12}; + + // 初始化 + InitList(&A); + InitList(&B); + + // 赋值 + for(i = 1; i <= 7; i++) { + ListInsert(&A, i, a[i - 1]); + ListInsert(&B, i, b[i - 1]); + } + + printf("A = "); + ListTraverse(A, PrintElem); + + printf("B = "); + ListTraverse(B, PrintElem); + + mark = Algo_2_12(A, B); + if(mark < 0) { + printf("==> A 1) { + printf("==> A>B\n"); + } else { + printf("A==B\n"); + } + + return 0; +} + + +// 比较顺序表大小 +int Algo_2_12(SqList A, SqList B) { + int i = 0; + + // 扫描顺序表A和B + while(i < A.length && i < B.length) { + if(A.elem[i] > B.elem[i]) { + return 1; + } else if(A.elem[i] < B.elem[i]) { + return -1; + } else { + i++; //相等时比较下一元素 + } + } + + // 如果A还有剩余,A大 + if(i < A.length) { + return 1; + + // 如果B还有剩余,B大 + } else if(i < B.length) { + return -1; + + // 如果同时扫描完,相等 + } else { + return 0; + } +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.12/CMakeLists.txt b/CLion/ExerciseBook/02.12/CMakeLists.txt new file mode 100644 index 0000000..3aa0875 --- /dev/null +++ b/CLion/ExerciseBook/02.12/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.12 SqList.h SqList.c 02.12.c) +target_link_libraries(02.12 Scanf_lib) diff --git a/CLion/ExerciseBook/02.12/SqList.c b/CLion/ExerciseBook/02.12/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.12/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.12/SqList.h b/CLion/ExerciseBook/02.12/SqList.h new file mode 100644 index 0000000..a46af33 --- /dev/null +++ b/CLion/ExerciseBook/02.12/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.13/02.13.c b/CLion/ExerciseBook/02.13/02.13.c new file mode 100644 index 0000000..db5a6f4 --- /dev/null +++ b/CLion/ExerciseBook/02.13/02.13.c @@ -0,0 +1,60 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.13 + * + * 寻找元素x在L中的位置。 + * 如果返回0,则说明x不存在。 + */ +int Algo_2_13(LinkList L, ElemType x); + +// 判断data==e是否成立 +Status Equals(ElemType data, ElemType e); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // 初始化顺序表 + InitList(&L); + + // 填充值 + for(i = 1; i <= 10; i++) { + ListInsert(L, i, 2 * i); + } + + // 输出顺序表 + printf("L = "); + ListTraverse(L, PrintElem); + + printf("元素 \"12\" 在链表L中的位置为 %d \n", Algo_2_13(L, 12)); + + return 0; +} + + +// 寻找元素x在L中的位置 +int Algo_2_13(LinkList L, ElemType x) { + // 直接调用链表的查找函数 + return LocateElem(L, x, Equals); +} + +// 判断data==e是否成立 +Status Equals(ElemType data, ElemType e) { + if(data == e) { + return TRUE; + } else { + return FALSE; + } +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.13/CMakeLists.txt b/CLion/ExerciseBook/02.13/CMakeLists.txt new file mode 100644 index 0000000..04c3b9d --- /dev/null +++ b/CLion/ExerciseBook/02.13/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.13 LinkList.h LinkList.c 02.13.c) +target_link_libraries(02.13 Scanf_lib) diff --git a/CLion/ExerciseBook/02.13/LinkList.c b/CLion/ExerciseBook/02.13/LinkList.c new file mode 100644 index 0000000..63df088 --- /dev/null +++ b/CLion/ExerciseBook/02.13/LinkList.c @@ -0,0 +1,125 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // i的初值为第1个元素的位序 + p = L->next; // p的初值为第1个元素的指针 + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.13/LinkList.h b/CLion/ExerciseBook/02.13/LinkList.h new file mode 100644 index 0000000..d950387 --- /dev/null +++ b/CLion/ExerciseBook/02.13/LinkList.h @@ -0,0 +1,68 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * 查找 + * + * 返回链表中首个与e满足Compare关系的元素位序。 + * 如果不存在这样的元素,则返回0。 + * + *【备注】 + * 元素e是Compare函数第二个形参 + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.14/02.14.c b/CLion/ExerciseBook/02.14/02.14.c new file mode 100644 index 0000000..493a552 --- /dev/null +++ b/CLion/ExerciseBook/02.14/02.14.c @@ -0,0 +1,46 @@ +#include +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.14 + * + * 获取顺序表L的长度。 + */ +int Algo_2_14(LinkList L); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // 初始化顺序表 + InitList(&L); + + // 填充值 + for(i = 1; i <= 15; i++) { + ListInsert(L, i, 2 * i); + } + + // 输出顺序表 + printf("L = "); + ListTraverse(L, PrintElem); + + printf("链表L的长度为 %d \n", Algo_2_14(L)); + + return 0; +} + + +// 获取顺序表L的长度 +int Algo_2_14(LinkList L) { + // 直接调用链表的计数函数 + return ListLength(L); +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.14/CMakeLists.txt b/CLion/ExerciseBook/02.14/CMakeLists.txt new file mode 100644 index 0000000..c0fb37d --- /dev/null +++ b/CLion/ExerciseBook/02.14/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.14 LinkList.h LinkList.c 02.14.c) +target_link_libraries(02.14 Scanf_lib) diff --git a/CLion/ExerciseBook/02.14/LinkList.c b/CLion/ExerciseBook/02.14/LinkList.c new file mode 100644 index 0000000..f391ae6 --- /dev/null +++ b/CLion/ExerciseBook/02.14/LinkList.c @@ -0,0 +1,118 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // 遍历所有结点 + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.14/LinkList.h b/CLion/ExerciseBook/02.14/LinkList.h new file mode 100644 index 0000000..b629505 --- /dev/null +++ b/CLion/ExerciseBook/02.14/LinkList.h @@ -0,0 +1,64 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * 计数 + * + * 返回链表包含的有效元素的数量。 + */ +int ListLength(LinkList L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.15/02.15.c b/CLion/ExerciseBook/02.15/02.15.c new file mode 100644 index 0000000..c365487 --- /dev/null +++ b/CLion/ExerciseBook/02.15/02.15.c @@ -0,0 +1,90 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.15 + * + * 连接ha和hb,存储到hc中。 + */ +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList ha, hb, hc = NULL; + int i; + + // 初始化 + InitList(&ha); + InitList(&hb); + + // 赋值 + for(i = 1; i <= 5; i++) { + ListInsert(ha, i, 2 * i - 1); + ListInsert(hb, i, 2 * i); + } + + printf("ha = "); + ListTraverse(ha, PrintElem); + + printf("hb = "); + ListTraverse(hb, PrintElem); + + // 连接ha和hb + Algo_2_15(&ha, &hb, &hc); + + printf("hc = "); + ListTraverse(hc, PrintElem); + + return 0; +} + + +// 连接ha和hb,存储到hc中 +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc) { + LinkList pa, pb; + + *hc = NULL; + + // 确保ha和hb都存在 + if(ha == NULL || *ha == NULL || hb == NULL || *hb == NULL) { + return ERROR; + } + + pa = *ha; + pb = *hb; + + // 为了提高效率,需要先遍历共同的部分 + while(pa->next != NULL && pb->next != NULL) { + pa = pa->next; + pb = pb->next; + } + + // 如果ha已经遍历到头了,且hb有剩余 + if(pa->next == NULL && pb->next != NULL) { + *hc = *ha; + pa->next = (*hb)->next; + free(*hb); + } + + // 如果hb已经遍历到头了,ha可能有剩余,也可能没有 + if(pb->next == NULL) { + *hc = *hb; + pb->next = (*ha)->next; + free(*ha); + } + + // 销毁了ha/hb的头结点 + *ha = NULL; + *hb = NULL; + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.15/CMakeLists.txt b/CLion/ExerciseBook/02.15/CMakeLists.txt new file mode 100644 index 0000000..67cdb15 --- /dev/null +++ b/CLion/ExerciseBook/02.15/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.15 LinkList.h LinkList.c 02.15.c) +target_link_libraries(02.15 Scanf_lib) diff --git a/CLion/ExerciseBook/02.15/LinkList.c b/CLion/ExerciseBook/02.15/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.15/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.15/LinkList.h b/CLion/ExerciseBook/02.15/LinkList.h new file mode 100644 index 0000000..03a96e2 --- /dev/null +++ b/CLion/ExerciseBook/02.15/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.16-02.18/02.16-02.18.c b/CLion/ExerciseBook/02.16-02.18/02.16-02.18.c new file mode 100644 index 0000000..d9e1826 --- /dev/null +++ b/CLion/ExerciseBook/02.16-02.18/02.16-02.18.c @@ -0,0 +1,296 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表【没有】头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 题2.16 + * + * 删除la中第i个位置起的len个元素,并将其添加到lb第j个位置之前。 + */ +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len); + +/* + * 题2.17 + * + * 将元素b插入到链表L第i个位置上,i是元素的位序,从1开始计数。。 + */ +Status Algo_2_17(LinkList* L, int i, ElemType b); + +/* + * 题2.18 + * + * 删除链表L的第i个结点,i是元素的位序,从1开始计数。 + */ +Status Algo_2_18(LinkList* L, int i); + +// 初始化无头结点的链表L +void InitList(LinkList* L); + +// 输出无头结点的链表中的元素 +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + int i; + LinkList la, lb; + + InitList(&la); + InitList(&lb); + + printf("████████ 题 2.17 验证...\n"); + for(i = 1; i <= 10; i++) { + Algo_2_17(&la, i, 2 * i - 1); + Algo_2_17(&lb, i, 2 * i); + } + printf("█ 创建无头结点链表:\n"); + printf("█ la = "); + Output(la); + printf("█ lb = "); + Output(lb); + PressEnterToContinue(); + + printf("████████ 题 2.16 验证...\n"); + printf("█ 将la中从第2个结点起的5个结点插入到lb的第6个结点之前...\n"); + Algo_2_16(&la, &lb, 2, 6, 5); + printf("█ la = "); + Output(la); + printf("█ lb = "); + Output(lb); + PressEnterToContinue(); + + printf("████████ 题 2.18 验证...\n"); + printf("█ 删除lb第6个结点起的5个结点...\n"); + for(i = 1; i <= 5; i++) { + Algo_2_18(&lb, 6); + } + printf("█ 删除完成后:lb = "); + Output(lb); + + return 0; +} + + +// 删除la中第i个位置起的len个元素,并将其添加到lb第j个位置之前 +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len) { + LinkList p; // 指向la中第i-1个结点 + LinkList q; // 指向la中第i+len-1个结点 + LinkList r; // 指向q后面的结点 + LinkList s; // 指向lb中第j-1个结点 + int k; + + if(i <= 0 || j <= 0 || len <= 0) { + return ERROR; + } + + // 确保la中有结点可摘 + if(la == NULL || *la == NULL) { + return ERROR; + } + + + // 确定p的位置 + k = 1; + p = *la; + + if(i == 1) { + p = NULL; + } else { + // 查找la中第i-1个结点,且保证它后继存在 + while(p->next != NULL && k < i - 1) { + ++k; + p = p->next; + } + + // 未找到合适的位置 + if(p->next == NULL) { + return ERROR; + } + } + + + // 确定q的位置 + if(p == NULL) { + q = *la; + } else { + q = p->next; + } + k = i; + + while(q != NULL && k < i + len - 1) { + ++k; + q = q->next; + } + + if(q == NULL) { + return ERROR; + } + + // 确定r的位置 + r = q->next; + + + if(lb == NULL) { + return ERROR; + } + + // 确定s的位置 + k = 1; + s = *lb; + + // 插入到lb第一个位置之前 + if(j == 1) { + q->next = *lb; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + *lb = p->next; + p->next = r; + } + } else { + // 查找lb中第j-1个结点,且保证它后继存在 + while(s->next != NULL && k < j - 1) { + ++k; + s = s->next; + } + + // 未找到合适的位置 + if(s->next == NULL) { + return ERROR; + } + + q->next = s->next; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + s->next = p->next; + p->next = r; + } + } + + return OK; +} + +// 将元素b插入到链表L第i个位置上 +Status Algo_2_17(LinkList* L, int i, ElemType b) { + LinkList p, s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i从1开始计数 + if(i <= 0) { + return ERROR; + } + + // 创建新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = b; + + j = 1; + p = *L; + + // 特殊情形 + if(i == 1) { + s->next = p; + *L = s; + } else { + // 查找第i-1个结点,且保证它自身存在 + while(p != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // 未找到合适的位置 + if(p == NULL) { + return ERROR; + } + + s->next = p->next; + p->next = s; + } + + return OK; +} + +// 删除链表L的第i个结点 +Status Algo_2_18(LinkList* L, int i) { + LinkList p, q; + int j; + + // 确保有结点可删除 + if(L == NULL || *L == NULL) { + return ERROR; + } + + // i从1开始计数 + if(i <= 0) { + return ERROR; + } + + j = 1; + p = *L; + + // 特殊情形 + if(i == 1) { + *L = p->next; + free(p); + } else { + // 查找第i-1个结点,且保证它后继存在 + while(p->next != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // 未找到合适的位置 + if(p->next == NULL) { + return ERROR; + } + + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// 初始化无头结点的链表L +void InitList(LinkList* L) { + *L = NULL; +} + +// 输出无头结点的链表中的元素 +void Output(LinkList L) { + while(L != NULL) { + printf("%2d ", L->data); + L = L->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.16-02.18/CMakeLists.txt b/CLion/ExerciseBook/02.16-02.18/CMakeLists.txt new file mode 100644 index 0000000..38097b6 --- /dev/null +++ b/CLion/ExerciseBook/02.16-02.18/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.16-02.18 02.16-02.18.c) +target_link_libraries(02.16-02.18 Scanf_lib) diff --git a/CLion/ExerciseBook/02.19-02.20/02.19-02.20.c b/CLion/ExerciseBook/02.19-02.20/02.19-02.20.c new file mode 100644 index 0000000..31eeb31 --- /dev/null +++ b/CLion/ExerciseBook/02.19-02.20/02.19-02.20.c @@ -0,0 +1,194 @@ +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.19———方法一 + * + * 删除递增线性表中元素值介于(mink, maxk)之间的结点。 + */ +Status Algo_2_19_1(LinkList L, int mink, int maxk); + +/* + * 题2.19———方法二 + * + * 删除递增线性表中元素值介于(mink, maxk)之间的结点。 + */ +Status Algo_2_19_2(LinkList L, int mink, int maxk); + +/* + * 题2.20 + * + * 对非递减线性表去重:对于重复元素,仅保留一个。 + */ +Status Algo_2_20(LinkList L); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int mink1, mink2, maxk1, maxk2, i; + int a[] = {1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 11, 12, 12}; + + mink1 = 2; + maxk1 = 4; + + mink2 = 5; + maxk2 = 8; + + InitList(&L); + + for(i = 1; i <= 20; i++) { + ListInsert(L, i, a[i - 1]); + } + + printf("█ L = "); + ListTraverse(L, PrintElem); + + printf("████████ 题 2.19 验证...\n"); + printf("█ 删除 (%d, %d) 范围内的元素之后:", mink1, maxk1); + Algo_2_19_1(L, mink1, maxk1); + printf("L = "); + ListTraverse(L, PrintElem); + + printf("█ 删除 (%d, %d) 范围内的元素之后:", mink2, maxk2); + Algo_2_19_2(L, mink2, maxk2); + printf("L = "); + ListTraverse(L, PrintElem); + + printf("████████ 题 2.20 验证...\n"); + printf("█ 对非递减链表去重之后:"); + Algo_2_20(L); + printf("L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// 删除递增线性表中元素值介于(mink, maxk)之间的结点 +Status Algo_2_19_1(LinkList L, int mink, int maxk) { + LinkList p, q; + int flag; // 用来提高效率 + + // 确保链表存在 + if(L == NULL) { + return ERROR; + } + + // 范围设定错误 + if(mink >= maxk) { + return ERROR; + } + + // 链表为空,直接返回 + if(L->next == NULL) { + return OK; + } + + p = L; // 指向头结点 + flag = 0; // 标记未遇到(mink, maxk)范围内的元素 + + while(p->next != NULL) { + q = p->next; + + // 遇到需要删除的结点 + if(q->data > mink && q->data < maxk) { + // 标记遇到了(mink, maxk)范围内的元素 + flag = 1; + p->next = q->next; + free(q); + } else { + // 说明剩余元素均>=maxk,无需再遍历 + if(flag == 1) { + break; + } + p = q; + } + } + + return OK; +} + +// 删除递增线性表中元素值介于(mink, maxk)之间的结点 +Status Algo_2_19_2(LinkList L, int mink, int maxk) { + LinkList p, q; + + // 确保链表存在 + if(L == NULL) { + return ERROR; + } + + // 范围设定错误 + if(mink >= maxk) { + return ERROR; + } + + // 链表为空,直接返回 + if(L->next == NULL) { + return OK; + } + + p = L; // 指向头结点 + + // 查找下限 + while(p->next != NULL && p->next->data <= mink) { + p = p->next; + } + + // 遍历完成 + if(p->next == NULL) { + return OK; + } + + // 查找上限,删除(mink, maxk)之间的部分 + while(p->next != NULL && p->next->data < maxk) { + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// 对非递减线性表去重:对于重复元素,仅保留一个 +Status Algo_2_20(LinkList L) { + LinkList p, q; + + // 确保链表存在 + if(L == NULL) { + return ERROR; + } + + // 链表为空,直接返回 + if(L->next == NULL) { + return OK; + } + + // 指向第1个元素 + p = L->next; + + while(p->next != NULL) { + q = p->next; + + // 遇到了重复元素,则需要删除一个 + if(p->data == q->data) { + p->next = q->next; + free(q); + + // 如果是不同的元素,则p前进一步 + } else { + p = q; + } + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.19-02.20/CMakeLists.txt b/CLion/ExerciseBook/02.19-02.20/CMakeLists.txt new file mode 100644 index 0000000..1e023f2 --- /dev/null +++ b/CLion/ExerciseBook/02.19-02.20/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.19-02.20 LinkList.h LinkList.c 02.19-02.20.c) +target_link_libraries(02.19-02.20 Scanf_lib) diff --git a/CLion/ExerciseBook/02.19-02.20/LinkList.c b/CLion/ExerciseBook/02.19-02.20/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.19-02.20/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.19-02.20/LinkList.h b/CLion/ExerciseBook/02.19-02.20/LinkList.h new file mode 100644 index 0000000..03a96e2 --- /dev/null +++ b/CLion/ExerciseBook/02.19-02.20/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.21/02.21.c b/CLion/ExerciseBook/02.21/02.21.c new file mode 100644 index 0000000..4ae8ee6 --- /dev/null +++ b/CLion/ExerciseBook/02.21/02.21.c @@ -0,0 +1,63 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.21 + * + * 顺序表逆置。 + */ +Status Algo_2_21(SqList L); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // 准备测试数据 + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(&L, i, i); + } + + printf("顺序:L = "); + ListTraverse(L, PrintElem); + + Algo_2_21(L); + + printf("逆置:L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// 顺序表逆置 +Status Algo_2_21(SqList L) { + int i, mid; + ElemType tmp; + + // 确保顺序表存在 + if(L.elem == NULL) { + return ERROR; + } + + // 只需要遍历前一半的元素即可 + mid = L.length / 2; + + for(i = 1; i <= mid; i++) { + tmp = L.elem[i - 1]; + L.elem[i - 1] = L.elem[L.length - i]; + L.elem[L.length - i] = tmp; + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/CLion/ExerciseBook/02.21/CMakeLists.txt b/CLion/ExerciseBook/02.21/CMakeLists.txt new file mode 100644 index 0000000..bbd6d0e --- /dev/null +++ b/CLion/ExerciseBook/02.21/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.21 SqList.h SqList.c 02.21.c) +target_link_libraries(02.21 Scanf_lib) diff --git a/CLion/ExerciseBook/02.21/SqList.c b/CLion/ExerciseBook/02.21/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.21/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.21/SqList.h b/CLion/ExerciseBook/02.21/SqList.h new file mode 100644 index 0000000..d0b676e --- /dev/null +++ b/CLion/ExerciseBook/02.21/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.22/02.22.c b/CLion/ExerciseBook/02.22/02.22.c new file mode 100644 index 0000000..8f090b0 --- /dev/null +++ b/CLion/ExerciseBook/02.22/02.22.c @@ -0,0 +1,62 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.22 + * + * 链表逆置。 + */ +Status Algo_2_22(LinkList L); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // 准备测试数据 + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + + printf("顺序:L = "); + ListTraverse(L, PrintElem); + + Algo_2_22(L); + + printf("逆置:L = "); + ListTraverse(L, PrintElem); + + return 0; +} + +// 链表逆置 +Status Algo_2_22(LinkList L) { + LinkList p, q; + + // 确保链表存在 + if(L==NULL) { + return ERROR; + } + + p = L->next; + L->next = NULL; + + // 头插法 + while(p!=NULL){ + q = p->next; + p->next = L->next; + L->next = p; + p = q; + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/CLion/ExerciseBook/02.22/CMakeLists.txt b/CLion/ExerciseBook/02.22/CMakeLists.txt new file mode 100644 index 0000000..c1c2d3b --- /dev/null +++ b/CLion/ExerciseBook/02.22/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.22 LinkList.h LinkList.c 02.22.c) +target_link_libraries(02.22 Scanf_lib) diff --git a/CLion/ExerciseBook/02.22/LinkList.c b/CLion/ExerciseBook/02.22/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.22/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.22/LinkList.h b/CLion/ExerciseBook/02.22/LinkList.h new file mode 100644 index 0000000..ce0e7f2 --- /dev/null +++ b/CLion/ExerciseBook/02.22/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.23/02.23.c b/CLion/ExerciseBook/02.23/02.23.c new file mode 100644 index 0000000..038f66b --- /dev/null +++ b/CLion/ExerciseBook/02.23/02.23.c @@ -0,0 +1,147 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.23——方法一:将La插入到Lb中 + * + * 合并两个单链表。 + * 合并完成后,将La和Lb置空,但不销毁。 + */ +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc); + +/* + * 题2.23——方法二:将La和Lb中的元素交替插入到Lc中 + * + * 合并两个单链表。 + * 合并完成后,将La和Lb置空,但不销毁。 + */ +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 合并方法测试 +// Algo_2_23_1(La, Lb, &Lc); + Algo_2_23_2(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// 合并两个单链表 +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pb; + + // 确保La和Lb存在 + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pb = Lb; + + while(La->next != NULL && pb->next != NULL) { + // 从La中摘下结点 + p = La->next; + La->next = p->next; + + // 将La中摘下的结点插入到Lb中 + p->next = pb->next; + pb->next = p; + + // 前进到原Lb中下一个结点的位置 + pb = pb->next->next; + } + + // 如果La有剩余,需要将其全部链接到Lb的尾部 + if(pb->next == NULL && La->next != NULL) { + pb->next = La->next; + La->next = NULL; + } + + InitList(Lc); + + (*Lc)->next = Lb->next; + Lb->next = NULL; + + return OK; +} + +// 合并两个单链表 +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pc; + int flag; // 指挥插入La中的元素还是插入Lb中的元素 + + // 确保La和Lb存在 + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + flag = 0; + pc = *Lc; + + while(La->next!=NULL && Lb->next!=NULL){ + // 需要插入La中的元素 + if(flag==0) { + // 摘下La中的元素 + p = La->next; + La->next = p->next; + + flag = 1; + } else { + // 摘下La中的元素 + p = Lb->next; + Lb->next = p->next; + + flag = 0; + } + + // 将摘下的元素插入到Lc + pc->next = p; + pc = pc->next; + } + + // 如果Lb可能有剩余 + if(La->next==NULL) { + // 摘下Lb中的元素 + p = Lb->next; + Lb->next = NULL; + pc->next = p; + + // 如果La有剩余 + } else { + // 摘下La中的元素 + p = La->next; + La->next = NULL; + pc->next = p; + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.23/CMakeLists.txt b/CLion/ExerciseBook/02.23/CMakeLists.txt new file mode 100644 index 0000000..0335c1c --- /dev/null +++ b/CLion/ExerciseBook/02.23/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.23 LinkList.h LinkList.c 02.23.c) +target_link_libraries(02.23 Scanf_lib) diff --git a/CLion/ExerciseBook/02.23/LinkList.c b/CLion/ExerciseBook/02.23/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.23/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.23/LinkList.h b/CLion/ExerciseBook/02.23/LinkList.h new file mode 100644 index 0000000..ce0e7f2 --- /dev/null +++ b/CLion/ExerciseBook/02.23/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.24/02.24.c b/CLion/ExerciseBook/02.24/02.24.c new file mode 100644 index 0000000..3ed2d12 --- /dev/null +++ b/CLion/ExerciseBook/02.24/02.24.c @@ -0,0 +1,94 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.24 + * + * 归并两个递增单链表为一个递减单链表。 + * 归并策略是:逐个摘下La和Lb中的元素,并使用头插法插入到Lc中 + * 归并完成后,将原表置空,但不销毁。 + */ +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 归并方法测试 + Algo_2_24(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// 归并两个递增单链表为一个递减单链表 +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb; + + // 确保La和Lb存在 + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + // 遍历La和Lb + while(La->next!=NULL && Lb->next!=NULL){ + pa = La->next; + pb = Lb->next; + + // 摘下La和Lb中较小的元素 + if(pa->data<=pb->data) { + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } else { + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + } + + // 如果La还有剩余,将La中剩余元素插入到Lc中 + while(La->next!=NULL){ + pa = La->next; + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } + + // 如果Lb还有剩余,将Lb中剩余元素插入到Lc中 + while(Lb->next!=NULL){ + pb = Lb->next; + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.24/CMakeLists.txt b/CLion/ExerciseBook/02.24/CMakeLists.txt new file mode 100644 index 0000000..5a5936e --- /dev/null +++ b/CLion/ExerciseBook/02.24/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.24 LinkList.h LinkList.c 02.24.c) +target_link_libraries(02.24 Scanf_lib) diff --git a/CLion/ExerciseBook/02.24/LinkList.c b/CLion/ExerciseBook/02.24/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.24/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.24/LinkList.h b/CLion/ExerciseBook/02.24/LinkList.h new file mode 100644 index 0000000..ce0e7f2 --- /dev/null +++ b/CLion/ExerciseBook/02.24/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.25/02.25.c b/CLion/ExerciseBook/02.25/02.25.c new file mode 100644 index 0000000..c43158a --- /dev/null +++ b/CLion/ExerciseBook/02.25/02.25.c @@ -0,0 +1,82 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.25 + * + * 求交集:C=A∩B。 + */ +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 求交集 + Algo_2_25(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 求交集:C=A∩B +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc) { + int i, j, k; + + // 确保La和Lb存在 + if(La.elem == NULL || Lb.elem == NULL) { + return ERROR; + } + + InitList(Lc); + + i = j = 0; // 遍历La和Lb + k = 0; // 遍历Lc + + // 只遍历La和Lb的共同部分就行 + while(i < La.length && j < Lb.length) { + if(La.elem[i] < Lb.elem[j]) { + i++; + } else if(La.elem[i] > Lb.elem[j]) { + j++; + // 如果La和Lb中的元素相等 + } else { + // Lc中元素可能重复 + ListInsert(Lc, k+1, La.elem[i]); + k++; + i++; + j++; + } + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.25/CMakeLists.txt b/CLion/ExerciseBook/02.25/CMakeLists.txt new file mode 100644 index 0000000..5593dbc --- /dev/null +++ b/CLion/ExerciseBook/02.25/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.25 SqList.h SqList.c 02.25.c) +target_link_libraries(02.25 Scanf_lib) diff --git a/CLion/ExerciseBook/02.25/SqList.c b/CLion/ExerciseBook/02.25/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.25/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.25/SqList.h b/CLion/ExerciseBook/02.25/SqList.h new file mode 100644 index 0000000..23a33a2 --- /dev/null +++ b/CLion/ExerciseBook/02.25/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.26/02.26.c b/CLion/ExerciseBook/02.26/02.26.c new file mode 100644 index 0000000..5615f32 --- /dev/null +++ b/CLion/ExerciseBook/02.26/02.26.c @@ -0,0 +1,89 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.26 + * + * 求交集:C=A∩B。 + */ +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 求交集 + Algo_2_26(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 求交集:C=A∩B +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb, pc, s; + + // 确保La和Lb存在 + if(La == NULL || Lb == NULL) { + return ERROR; + } + + InitList(Lc); + + pa = La->next; + pb = Lb->next; + pc = *Lc; + + // 只遍历La和Lb的共同部分就行 + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + pa = pa->next; + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // Lc中元素可能重复 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = pa->data; + s->next = NULL; + + pc->next = s; + + pc = pc->next; + + pa = pa->next; + pb = pb->next; + } + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.26/CMakeLists.txt b/CLion/ExerciseBook/02.26/CMakeLists.txt new file mode 100644 index 0000000..6a2169c --- /dev/null +++ b/CLion/ExerciseBook/02.26/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.26 LinkList.h LinkList.c 02.26.c) +target_link_libraries(02.26 Scanf_lib) diff --git a/CLion/ExerciseBook/02.26/LinkList.c b/CLion/ExerciseBook/02.26/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.26/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.26/LinkList.h b/CLion/ExerciseBook/02.26/LinkList.h new file mode 100644 index 0000000..ce0e7f2 --- /dev/null +++ b/CLion/ExerciseBook/02.26/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.27/02.27.c b/CLion/ExerciseBook/02.27/02.27.c new file mode 100644 index 0000000..03a294d --- /dev/null +++ b/CLion/ExerciseBook/02.27/02.27.c @@ -0,0 +1,96 @@ +#include +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.27 + * + * 求交集:C=A∩B。 + * 不允许C中的元素重复,且C会利用A原有的空间,A被销毁。 + */ +SqList Algo_2_27(SqList* La, SqList Lb); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 求交集 + Lc = Algo_2_27(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 求交集:C=A∩B +SqList Algo_2_27(SqList* La, SqList Lb) { + int i, j, k; + SqList Lc; + + // 确保La和Lb存在 + if((*La).elem == NULL || Lb.elem == NULL) { + Lc.elem = NULL; + Lc.length = 0; + Lc.listsize = 0; + return Lc; + } + + i = j = 0; // 遍历La和Lb + k = 0; // 遍历Lc + + Lc.elem = (*La).elem; + Lc.listsize = La->listsize; + + // 只遍历La和Lb的共同部分就行 + while(i < (*La).length && j < Lb.length) { + if((*La).elem[i] < Lb.elem[j]) { + i++; + } else if((*La).elem[i] > Lb.elem[j]) { + j++; + // 如果La和Lb中的元素相等 + } else { + // 确保Lc中的元素不重复 + if(k == 0 || Lc.elem[k - 1] != (*La).elem[i]) { + Lc.elem[k] = (*La).elem[i]; + k++; + } + + i++; + j++; + } + } + + // 销毁A,但其空间交给了C使用 + (*La).elem = NULL; + (*La).length = 0; + (*La).listsize = 0; + + Lc.length = k; + + return Lc; +} + +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.27/CMakeLists.txt b/CLion/ExerciseBook/02.27/CMakeLists.txt new file mode 100644 index 0000000..4f85e58 --- /dev/null +++ b/CLion/ExerciseBook/02.27/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.27 SqList.h SqList.c 02.27.c) +target_link_libraries(02.27 Scanf_lib) diff --git a/CLion/ExerciseBook/02.27/SqList.c b/CLion/ExerciseBook/02.27/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.27/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.27/SqList.h b/CLion/ExerciseBook/02.27/SqList.h new file mode 100644 index 0000000..23a33a2 --- /dev/null +++ b/CLion/ExerciseBook/02.27/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.28/02.28.c b/CLion/ExerciseBook/02.28/02.28.c new file mode 100644 index 0000000..d209ba3 --- /dev/null +++ b/CLion/ExerciseBook/02.28/02.28.c @@ -0,0 +1,92 @@ +#include +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.28 + * + * 求交集:C=A∩B。 + * 不允许C中的元素重复,且C会利用A原有的空间,A被销毁。 + */ +LinkList Algo_2_28(LinkList* La, LinkList Lb); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 求交集 + Lc = Algo_2_28(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +LinkList Algo_2_28(LinkList* La, LinkList Lb) { + LinkList Lc; + LinkList pa, pb, pc, s; + + // 确保La和Lb存在 + if(La == NULL || *La == NULL || Lb == NULL) { + return NULL; + } + + pa = (*La)->next; + pb = Lb->next; + + Lc = *La; + Lc->next = NULL; + pc = Lc; + + // 只遍历La和Lb的共同部分就行 + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + s = pa; + pa = pa->next; + free(s); + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // 确保Lc中的元素不重复 + if(pc == Lc || pc->data != pa->data) { + pc->next = pa; + pc = pc->next; + } + + pa = pa->next; + pb = pb->next; + } + } + + pc->next = NULL; + + + *La = NULL; + + return Lc; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.28/CMakeLists.txt b/CLion/ExerciseBook/02.28/CMakeLists.txt new file mode 100644 index 0000000..9b7033f --- /dev/null +++ b/CLion/ExerciseBook/02.28/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.28 LinkList.h LinkList.c 02.28.c) +target_link_libraries(02.28 Scanf_lib) diff --git a/CLion/ExerciseBook/02.28/LinkList.c b/CLion/ExerciseBook/02.28/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.28/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.28/LinkList.h b/CLion/ExerciseBook/02.28/LinkList.h new file mode 100644 index 0000000..ce0e7f2 --- /dev/null +++ b/CLion/ExerciseBook/02.28/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.29/02.29.c b/CLion/ExerciseBook/02.29/02.29.c new file mode 100644 index 0000000..fb097f0 --- /dev/null +++ b/CLion/ExerciseBook/02.29/02.29.c @@ -0,0 +1,104 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "SqList.h" //**▲02 线性表**// + +/* + * 题2.29 + * + * A=A-B∩C。 + */ +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + ListInsert(&Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + + // 处理后 + Algo_2_29(&La, Lb, Lc); + + printf("La = La-Lb∩Lc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-B∩C +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc) { + int i, j, k, count; + + if(La==NULL || (*La).elem==NULL || Lb.elem==NULL || Lc.elem==NULL) { + return ERROR; + } + + i = j = k = 0; + count = 0; + + // 获取B和C的交集,然后将其从A中删除 + while(i < (*La).length && j < Lb.length && k < Lc.length) { + if(Lb.elem[j] < Lc.elem[k]) { + j++; + } else if(Lb.elem[j] > Lc.elem[k]) { + k++; + } else { + // 在A中查找交集元素 + while(i < (*La).length && (*La).elem[i] < Lb.elem[j]) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + // 跳过交集元素 + while(i < (*La).length && (*La).elem[i] == Lb.elem[j]) { + i++; + } + + // A还没有遍历完 + if(i < (*La).length) { + j++; + k++; + } + } + } + + // 将剩余的元素放到合适的位置 + while(i < (*La).length) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + (*La).length = count; + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/CLion/ExerciseBook/02.29/CMakeLists.txt b/CLion/ExerciseBook/02.29/CMakeLists.txt new file mode 100644 index 0000000..d81d5c2 --- /dev/null +++ b/CLion/ExerciseBook/02.29/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.29 SqList.h SqList.c 02.29.c) +target_link_libraries(02.29 Scanf_lib) diff --git a/CLion/ExerciseBook/02.29/SqList.c b/CLion/ExerciseBook/02.29/SqList.c new file mode 100644 index 0000000..ec36b00 --- /dev/null +++ b/CLion/ExerciseBook/02.29/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#include "SqList.h" + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L) { + // 分配指定容量的内存,如果分配失败,则返回NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + (*L).length = 0; // 初始化顺序表长度为0 + (*L).listsize = LIST_INIT_SIZE; // 顺序表初始内存分配量 + + return OK; // 初始化成功 +} + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // 确保顺序表结构存在 + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // i值越界 + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 若存储空间已满,则增加新空间 + if((*L).length >= (*L).listsize) { + // 基于现有空间扩容 + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 存储内存失败 + exit(OVERFLOW); + } + + // 新基址 + (*L).elem = newbase; + // 存的存储空间 + (*L).listsize += LISTINCREMENT; + } + + // q为插入位置 + q = &(*L).elem[i - 1]; + + // 1.右移元素,腾出位置 + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.插入e + *q = e; + + // 3.表长增1 + (*L).length++; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.29/SqList.h b/CLion/ExerciseBook/02.29/SqList.h new file mode 100644 index 0000000..23a33a2 --- /dev/null +++ b/CLion/ExerciseBook/02.29/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * 线性表的顺序存储结构(顺序表) + * + * 包含算法: 2.3、2.4、2.5、2.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 宏定义 */ +#define LIST_INIT_SIZE 100 // 顺序表存储空间的初始分配量 +#define LISTINCREMENT 10 // 顺序表存储空间的分配增量 + +/* 顺序表元素类型定义 */ +typedef int ElemType; + +/* + * 顺序表结构 + * + * 注:elem在使用前需要先为其分配内存,且元素从elem[0]处开始存储 + */ +typedef struct { + ElemType* elem; // 顺序表存储空间的基址(指向顺序表所占内存的起始位置) + int length; // 当前顺序表长度(包含多少元素) + int listsize; // 当前分配的存储容量(可以存储多少元素) +} SqList; + + +/* + * ████████ 算法2.3 ████████ + * + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(SqList* L); + +/* + * ████████ 算法2.4 ████████ + * + * 插入 + * + * 向顺序表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问顺序表L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.30/02.30.c b/CLion/ExerciseBook/02.30/02.30.c new file mode 100644 index 0000000..61cf01d --- /dev/null +++ b/CLion/ExerciseBook/02.30/02.30.c @@ -0,0 +1,97 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "LinkList.h" //**▲02 线性表**// + +/* + * 题2.30 + * + * A=A-B∩C。 + */ +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // 准备测试数据 + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + ListInsert(Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + // 处理后 + Algo_2_30(La, Lb, Lc); + + printf("La = La-Lb∩Lc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-B∩C +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc) { + LinkList pa, pb, pc, p; + + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pa = La->next; + pb = Lb->next; + pc = Lc->next; + p = La; + + // 获取B和C的交集,然后将其从A中删除 + while(pa != NULL && pb != NULL && pc != NULL) { + if(pb->data < pc->data) { + pb = pb->next; + } else if(pb->data > pc->data) { + pc = pc->next; + } else { + // 在A中查找交集元素 + while(pa != NULL && pa->data < pb->data) { + p = pa; + pa = pa->next; + } + + // 跳过交集元素 + while(pa != NULL && pa->data == pb->data) { + p->next = pa->next; + free(pa); + pa = p->next; + } + + // A还没有遍历完 + if(pa != NULL ) { + pb = pb->next; + pc = pc->next; + } + } + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/CLion/ExerciseBook/02.30/CMakeLists.txt b/CLion/ExerciseBook/02.30/CMakeLists.txt new file mode 100644 index 0000000..f5396c1 --- /dev/null +++ b/CLion/ExerciseBook/02.30/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.30 LinkList.h LinkList.c 02.30.c) +target_link_libraries(02.30 Scanf_lib) diff --git a/CLion/ExerciseBook/02.30/LinkList.c b/CLion/ExerciseBook/02.30/LinkList.c new file mode 100644 index 0000000..589e298 --- /dev/null +++ b/CLion/ExerciseBook/02.30/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#include "LinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 只是初始化一个头结点。 + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // 确保链表存 + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // 寻找第i-1个结点,且保证该结点本身不为NULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // 如果遍历到头了,或者i的值不合规(比如i<=0),说明没找到合乎目标的结点 + if(p == NULL || j > i - 1) { + return ERROR; + } + + // 生成新结点 + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // 确保链表存在且不为空表 + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.30/LinkList.h b/CLion/ExerciseBook/02.30/LinkList.h new file mode 100644 index 0000000..3176ef5 --- /dev/null +++ b/CLion/ExerciseBook/02.30/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * 线性表的链式存储结构(链表) + * + * 包含算法: 2.8、2.9、2.10、2.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 单链表元素类型定义 */ +typedef int ElemType; + +/* + * 单链表结构 + * + * 注:这里的单链表存在头结点 + */ +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向单链表结点的指针 +typedef LNode* LinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(LinkList* L); + +/* + * ████████ 算法2.9 ████████ + * + * 插入 + * + * 向链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问链表L + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/CLion/ExerciseBook/02.31/02.31.c b/CLion/ExerciseBook/02.31/02.31.c new file mode 100644 index 0000000..91cfee1 --- /dev/null +++ b/CLion/ExerciseBook/02.31/02.31.c @@ -0,0 +1,136 @@ +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 链表元素类型定义 */ +typedef int ElemType; + +// 单向循环链表结构(无头结点) +typedef struct LNode { + ElemType data; // 数据结点 + struct LNode* next; // 指向下一个结点的指针 +} LNode; + +// 指向链表结点的指针 +typedef LNode* LinkList; + + +/* + * 题2.31 + * + * 删除s结点的前驱 + */ +Status Algo_2_31(LinkList* L, LinkList s); + +// 用指定的数据创建【无】头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n); + +// 输出链表L +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, s; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // 准备测试数据 + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + s = L->next->next->next->next; + + printf("删除 %d 的前驱后...\n", s->data); + Algo_2_31(&L, s); + + printf("L = "); + Output(L); + + return 0; +} + +// 删除s结点的前驱 +Status Algo_2_31(LinkList* L, LinkList s) { + LinkList p, pre; + + if(L == NULL || *L == NULL) { + return ERROR; + } + + // 无前驱 + if(s == NULL || s->next == s) { + return ERROR; + } + + p = s; + + // 使用p->next指向s的前驱 + while(p->next->next != s) { + p = p->next; + } + + // s的前驱 + pre = p->next; + + // 删掉前驱 + p->next = pre->next; + free(pre); + + // 如果前驱正好是 + if(pre == *L) { + *L = s; + } + + return OK; +} + +// 用指定的数据创建无头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + *L = NULL; + + for(i = 0; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + + s->data = elems[i]; + + if(i == 0) { + *L = s; + s->next = *L; // 循环 + r = *L; + } else { + s->next = r->next; + r->next = s; + r = r->next; + } + } + + return OK; +} + +// 输出链表L +void Output(LinkList L) { + LinkList p; + + if(L == NULL) { + return; + } + + printf("%2d ", L->data); + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.31/CMakeLists.txt b/CLion/ExerciseBook/02.31/CMakeLists.txt new file mode 100644 index 0000000..31e82d9 --- /dev/null +++ b/CLion/ExerciseBook/02.31/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.31 02.31.c) +target_link_libraries(02.31 Scanf_lib) diff --git a/CLion/ExerciseBook/02.32/02.32.c b/CLion/ExerciseBook/02.32/02.32.c new file mode 100644 index 0000000..0b6218b --- /dev/null +++ b/CLion/ExerciseBook/02.32/02.32.c @@ -0,0 +1,134 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 链表元素类型定义 */ +typedef int ElemType; + +// 双循环链表结构体 +typedef struct LNode { + ElemType data; + struct LNode* next; + struct LNode* pre; +} LNode; + +// 指向链表结点的指针 +typedef LNode* LinkList; + + +/* + * 题2.32 + * + * 将单向循环链表修改为双向循环链表 + */ +Status Algo_2_32(LinkList L); + +// 用指定的数据创建【有】头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n); + +// 正向输出链表 +void Output(LinkList L); + +// 反向输出链表 +void OutputReverse(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L; + ElemType a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // 准备测试数据,并正序输出 + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + // 变为双向链表 + Algo_2_32(L); + + // 逆序输出链表 + printf("L = "); + OutputReverse(L); + + return 0; +} + + +// 将单向循环链表修改为双向循环链表 +Status Algo_2_32(LinkList L) { + LinkList r; + + if(L==NULL || L->next==L) { + return ERROR; + } + + for(r = L; r->next != L; r = r->next) { + r->next->pre = r; + } + + L->pre = r; + + return OK; +} + +// 用指定的数据创建【有】头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // 初始化头结点 + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->pre = NULL; + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->pre = NULL; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// 正向输出链表 +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} + +// 反向输出链表 +void OutputReverse(LinkList L) { + LinkList p; + + if(L == NULL || L->pre == L) { + return; + } + + for(p = L->pre; p != L; p = p->pre) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.32/CMakeLists.txt b/CLion/ExerciseBook/02.32/CMakeLists.txt new file mode 100644 index 0000000..abbaf36 --- /dev/null +++ b/CLion/ExerciseBook/02.32/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.32 02.32.c) +target_link_libraries(02.32 Scanf_lib) diff --git a/CLion/ExerciseBook/02.33/02.33.c b/CLion/ExerciseBook/02.33/02.33.c new file mode 100644 index 0000000..9915d96 --- /dev/null +++ b/CLion/ExerciseBook/02.33/02.33.c @@ -0,0 +1,174 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include // 提供isalpha、isdigit原型 +#include "Status.h" //**▲01 绪论**// + +/* 链表元素类型定义 */ +typedef char ElemType; + +// 单循环链表结构体 +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode; + +// 指向链表结点的指针 +typedef LNode* LinkList; + + +/* + * 题2.33 + * + * 拆分链表,拆成字符、数字、其他三类 + */ +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other); + +// 初始化一个单向循环链表 +Status InitList(LinkList* L); + +// 用指定的数据创建【有】头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n); + +// 正向输出链表 +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, L_char, L_num, L_other; + + ElemType a[20+1] = "2a3@A5e$T*1%s&7pl(o)"; + + // 准备测试数据,并正序输出 + CreatList(&L, a, 20); + printf("L = "); + Output(L); + + // 拆分链表 + Algo_2_33(L, &L_char, &L_num, &L_other); + + // 输出拆分后的链表 + printf("L_char = "); + Output(L_char); + printf("L_num = "); + Output(L_num); + printf("L_other = "); + Output(L_other); + + return 0; +} + + +// 拆分链表,拆成字符、数字、其他三类 +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other) { + LinkList r, rc, rn, ro, s; + + if(L_char == NULL || L_num == NULL || L_other == NULL) { + return ERROR; + } + + if(L == NULL || L->next == L) { + return ERROR; + } + + InitList(L_char); + InitList(L_num); + InitList(L_other); + + r = L->next; + rc = *L_char; + rn = *L_num; + ro = *L_other; + + while(r != L) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = r->data; + + // 元素为字符 + if(isalpha(r->data)) { + s->next = rc->next; + rc->next = s; + rc = rc->next; + + // 元素为数字 + } else if(isdigit(r->data)) { + s->next = rn->next; + rn->next = s; + rn = rn->next; + + // 其它 + } else { + s->next = ro->next; + ro->next = s; + ro = ro->next; + } + + r = r->next; + } + + return OK; +} + + +// 初始化一个单向循环链表 +Status InitList(LinkList* L) { + if(L == NULL) { + return ERROR; + } + + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + return OK; +} + +// 用指定的数据创建【有】头结点的单向循环链表 +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // 初始化头结点 + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// 正向输出链表 +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%c ", p->data); + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.33/CMakeLists.txt b/CLion/ExerciseBook/02.33/CMakeLists.txt new file mode 100644 index 0000000..9a0bbae --- /dev/null +++ b/CLion/ExerciseBook/02.33/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.33 02.33.c) +target_link_libraries(02.33 Scanf_lib) diff --git a/CLion/ExerciseBook/02.34-02.36/02.34-02.36.c b/CLion/ExerciseBook/02.34-02.36/02.34-02.36.c new file mode 100644 index 0000000..eca0dbe --- /dev/null +++ b/CLion/ExerciseBook/02.34-02.36/02.34-02.36.c @@ -0,0 +1,433 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include +#include "Status.h" //**▲01 绪论**// + +// 异或指针链表元素 +typedef char XElemType; + +// 异或指针链表结点结构 +typedef struct XorNode { + XElemType data; + struct XorNode* LRPtr; +} XorNode; +typedef XorNode* XorPointer; + +// 无头结点的异或指针双向链表的头尾指针 +typedef struct { + XorPointer Left; // 分别指向链表的最左端(头指针)和最右端(尾指针) + XorPointer Right; +} XorLinkedList; + + +/* + * 题2.34——方法一:借助PriorOrNext函数遍历链表 + * + * 输出L,mark表示输出方向:0,从左向右输出,1,从右向左输出 + */ +void Algo_2_34_1(XorLinkedList L, int mark); + +/* + * 题2.34——方法二:【不】借助PriorOrNext函数遍历链表 + * + * 输出L,mark表示输出方向:0,从左向右输出,1,从右向左输出 + */ +void Algo_2_34_2(XorLinkedList L, int mark); + +/* + * 题2.35 + * + * 将元素e插入到第i个结点之前 + */ +Status Algo_2_35(XorLinkedList* L, int i, XElemType e); + +/* + * 题2.36 + * + * 删除第i(>0)个结点,并用e接受结点中元素值 + */ +Status Algo_2_36(XorLinkedList* L, int i, char* e); + +// 指针异或函数,返回指针p和q的异或值(异或运算:p^q) +XorPointer XorP(XorPointer p, XorPointer q); + +// 创建异或指针链表L +Status Create(XorLinkedList* L, XElemType elems[], int n); + +// 获取当前结点(cur)的前驱(mark=0)或后继(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark); + + +int main(int argc, char** argv) { + XorLinkedList L; + XElemType e; + XElemType* data = "123456789"; + + Create(&L, data, strlen(data)); + printf("████████ 题 2.34 验证...\n"); + printf("█ 正向输出 L = "); + Algo_2_34_1(L, 0); + printf("█ 逆向输出 L = "); + Algo_2_34_1(L, 1); + + printf("████████ 题 2.35 验证...\n"); + Algo_2_35(&L, 5, '*'); + printf("█ 插入 '*' 为L的第5个结点后顺序输出...\n"); + printf("█ 正向输出 L = "); + Algo_2_34_2(L, 0); + + printf("████████ 题 2.36 验证...\n"); + Algo_2_36(&L, 5, &e); + printf("█ 删除L的第5个结点 '%c' 后逆序输出...\n", e); + printf("█ 逆向输出 L = "); + Algo_2_34_2(L, 1); + + return 0; +} + + +// 异或运算:p^q +XorPointer XorP(XorPointer p, XorPointer q) { + unsigned long x, y, z; + + x = (unsigned long) p; + y = (unsigned long) q; + + // 求异或 + z = x ^ y; + + return (XorPointer) z; +} + +// 创建异或指针链表L +Status Create(XorLinkedList* L, XElemType elems[], int n) { + int i; + XorPointer pre_l, pre_m, pre_r; // 准备三个指针,指向链表中紧邻的三个结点 + + (*L).Left = NULL; + (*L).Right = NULL; + + pre_l = pre_m = NULL; + + for(i = 0; i < n; i++) { + pre_r = (XorPointer) malloc(sizeof(XorNode)); + if(pre_r == NULL) { + exit(OVERFLOW); + } + pre_r->data = elems[i]; + + // 左指针(创建首结点时设立) + if(i == 0) { + L->Left = pre_r; + } + + // 右指针,指向最后一个结点 + L->Right = pre_r; + + // 有新结点加入时,上一个结点的指针域需要作出修改 + if(pre_m != NULL) { + pre_m->LRPtr = XorP(pre_l, pre_r); + } + + pre_r->LRPtr = XorP(pre_m, NULL); + pre_l = pre_m; + pre_m = pre_r; + } + + return OK; +} + +// 获取当前结点(cur)的前驱(mark=0)或后继(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return NULL; + } + + // 确保链表存在 + if(L.Left == NULL || L.Right == NULL || cur == NULL) { + return NULL; + } + + // 求后继,从左向右 + if(mark == 1) { + p_l = NULL; + p_m = L.Left; + + // 指针不断向右推进 + while(p_m != cur) { + p_r = XorP(p_l, p_m->LRPtr); //计算右侧第一个结点地址 + p_l = p_m; + p_m = p_r; + } + + // p_m指向cur的前驱 + p_r = XorP(p_l, p_m->LRPtr); + + return p_r; + + // 求前驱,从右向左 + } else { + p_m = L.Right; + p_r = NULL; + + // 指针不断向左推进 + while(p_m != cur) { + p_l = XorP(p_m->LRPtr, p_r); //计算左侧第一个结点地址 + p_r = p_m; + p_m = p_l; + } + + // p_m指向cur的后继 + p_l = XorP(p_m->LRPtr, p_r); + + return p_l; + } +} + +// 输出L,mark表示输出方向:0,从左向右输出,1,从右向左输出 +void Algo_2_34_1(XorLinkedList L, int mark) { + XorPointer cur; + + if(mark != 1 && mark != 0) { + return; + } + + // 确保链表存在 + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // 从左向右输出 + if(mark == 0) { + cur = L.Left; + do { + printf("%c ", cur->data); + // 获取cur的后继 + cur = PriorOrNext(L, cur, 1); + } while(cur != NULL); + + // 从右向左输出 + } else { + cur = L.Right; + do { + printf("%c ", cur->data); + // 获取cur的前驱 + cur = PriorOrNext(L, cur, 0); + } while(cur != NULL); + } + + printf("\n"); +} + +// 输出L,mark表示输出方向:0,从左向右输出,1,从右向左输出 +void Algo_2_34_2(XorLinkedList L, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return; + } + + // 确保链表存在 + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // 从左向右输出 + if(mark == 0) { + p_l = NULL; + p_m = L.Left; + + // p_m为空时说明已输出完毕 + while(p_m != NULL) { + printf("%c ", p_m->data); + p_r = XorP(p_l, p_m->LRPtr); // 计算右侧第一个结点地址 + p_l = p_m; // 指针不断向后推进 + p_m = p_r; + } + + // 从右向左输出 + } else { + p_m = L.Right; + p_r = NULL; + + // p_m为空时说明已输出完毕 + while(p_m != NULL) { + printf("%c ", p_m->data); + p_l = XorP(p_m->LRPtr, p_r); // 计算左侧第一个结点地址 + p_r = p_m; // 指针不断向前推进 + p_m = p_l; + } + } + + printf("\n"); +} + +// 将元素e插入到第i个结点之前 +Status Algo_2_35(XorLinkedList* L, int i, XElemType e) { + XorPointer pl; // 指向第i-2个结点 + XorPointer pre; // 指向第i-1个结点 + XorPointer p; // 指向第i个结点 + XorPointer pr; // 指向第i+1个结点 + XorPointer s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // 创建新结点 + s = (XorPointer) malloc(sizeof(XorNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // 先处理链表为空的情形 + if((*L).Left == NULL && (*L).Right == NULL) { + if(i != 1) { + return ERROR; // 链表为空时,i只能为1 + } + + (*L).Left = (*L).Right = s; + s->LRPtr = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // 查找第i-1个结点,且由pre指向它 + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // i值不合规(过大) + if(j < i - 1) { + return ERROR; + } + + // 需要插入到链表尾部 + if(p == NULL) { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, s); + + s->LRPtr = XorP(pre, p); + + (*L).Right = s; + + return OK; + } + + // 需要插入到链表的头部 + if(pre == NULL) { + pr = XorP(pre, p->LRPtr); + p->LRPtr = XorP(s, pr); + + s->LRPtr = XorP(pre, p); + + (*L).Left = s; + + return OK; + } + + // 其他情形 + pl = XorP(pre->LRPtr, p); + pr = XorP(pre, p->LRPtr); + pre->LRPtr = XorP(pl, s); + p->LRPtr = XorP(s, pr); + s->LRPtr = XorP(pre, p); + + return OK; +} + +// 删除第i(>0)个结点,并用e接受结点中元素值 +Status Algo_2_36(XorLinkedList* L, int i, XElemType* e) { + XorPointer pl; // 指向第i-2个结点 + XorPointer pre; // 指向第i-1个结点 + XorPointer p; // 指向第i个结点 + XorPointer pr; // 指向第i+1个结点 + XorPointer prr; // 指向第i+2个结点 + int j; + + if(L == NULL || (*L).Left == NULL || (*L).Right == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // 先处理只有一个结点的情形 + if((*L).Left == (*L).Right) { + if(i != 1) { + return ERROR; // 链表只有一个结点时,i只能为1 + } + + *e = (*L).Left->data; + (*L).Left = (*L).Right = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // 查找第i-1个结点,且由pre指向它 + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // i值不合规(过大) + if(j < i - 1 || p == NULL) { + return ERROR; + } + + // 存储被删元素的值 + *e = p->data; + + /* 至此,至少有两个元素存在,且p指向被删除元素 */ + + pr = XorP(pre, p->LRPtr); + + // 删除头结点 + if(pre == NULL) { + // 由于此时至少有两个结点,故pr!=NULL + prr = XorP(p, pr->LRPtr); + + pr->LRPtr = XorP(pre, prr); + + (*L).Left = pr; + } else { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, pr); + + // 删除最后一个结点 + if(pr == NULL) { + (*L).Right = pre; + } else { + prr = XorP(p, pr->LRPtr); + pr->LRPtr = XorP(pre, prr); + } + } + + free(p); + + return OK; +} diff --git a/CLion/ExerciseBook/02.34-02.36/CMakeLists.txt b/CLion/ExerciseBook/02.34-02.36/CMakeLists.txt new file mode 100644 index 0000000..a75ae7f --- /dev/null +++ b/CLion/ExerciseBook/02.34-02.36/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.34-02.36 02.34-02.36.c) +target_link_libraries(02.34-02.36 Scanf_lib) diff --git a/CLion/ExerciseBook/02.37/02.37.c b/CLion/ExerciseBook/02.37/02.37.c new file mode 100644 index 0000000..b4e7292 --- /dev/null +++ b/CLion/ExerciseBook/02.37/02.37.c @@ -0,0 +1,73 @@ +#include +#include "Status.h" //**▲01 绪论**// +#include "DuLinkList.h" //**▲02 线性表**// + +/* + * 题2.37 + * + * 按奇偶次序重排链表各元素位序:奇数位序元素靠前正序,偶数位序元素靠后逆序 + */ +Status Algo_2_37(DuLinkList L); + +// 测试函数,打印元素 +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + + // 准备测试数据 + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + printf("重排前 L = "); + ListTraverse(L, PrintElem); + + Algo_2_37(L); + + printf("重排后 L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// 按奇偶次序重排链表各元素位序:奇数位序元素靠前正序,偶数位序元素靠后逆序 +Status Algo_2_37(DuLinkList L) { + DuLinkList head, tail, p; + + if(L == NULL || L->prior == NULL || L->next == NULL) { + return ERROR; + } + + head = L->next; // 指向表首,向右推进 + tail = L->prior; // 指向表尾,固定不动 + + // 如果head跟tail中间至少隔了一个元素 + while(head != tail && head->next != tail) { + // 指向原偶数位序的元素 + p = head->next; + + // 摘下此偶数位序的元素 + p->next->prior = head; + head->next = p->next; + + // 将此元素添加到原tail后面 + p->next = tail->next; + p->prior = tail; + tail->next->prior = p; + tail->next = p; + + // 前进到下一个奇数位序的元素上 + head = head->next; + } + + return OK; +} + +// 测试函数,打印元素 +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/CLion/ExerciseBook/02.37/CMakeLists.txt b/CLion/ExerciseBook/02.37/CMakeLists.txt new file mode 100644 index 0000000..443e083 --- /dev/null +++ b/CLion/ExerciseBook/02.37/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.37 DuLinkList.h DuLinkList.c 02.37.c) +target_link_libraries(02.37 Scanf_lib) diff --git a/CLion/ExerciseBook/02.37/DuLinkList.c b/CLion/ExerciseBook/02.37/DuLinkList.c new file mode 100644 index 0000000..e1e34f3 --- /dev/null +++ b/CLion/ExerciseBook/02.37/DuLinkList.c @@ -0,0 +1,130 @@ +/*===================== + * 双向循环链表 + * + * 包含算法: 2.18、2.19 + ======================*/ + +#include "DuLinkList.h" //**▲02 线性表**// + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // 前驱和后继均指向自身 + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * ████████ 算法2.18 ████████ + * + * 插入 + * + * 向双向循环链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // 确保双向循环链表存在(但可能为空表) + if(L == NULL) { + return ERROR; + } + + // 查找第i个结点位置(引用) + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // 创建新结点 + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // 将s插入到p的前面,称为第i个结点 + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * 遍历 + * + * 用visit函数访问双向循环链表L + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // 确保双向循环链表存在 + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 获取循环链表L上第i个元素的引用 + * + * ▓▓▓▓ 注 ▓▓▓▓ + * 1.加static的含义是当前函数只在DuLinkList中使用,不会被别的文件引用 + * 2.假设链表长度为len,且需要获取第len+1个元素的引用时,由于这里是循环链表,所以返回的是头结点 + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // 确保双向循环链表存在(但可能为空表) + if(L == NULL) { + return NULL; + } + + // 位置不合规 + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // 尝试查找第i个元素 + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // 恰好找到第i个元素 + if(count == i) { + return p; + } + + // 至此,说明p->next==L,此时需要判断i是否过大 + if(count + 1 < i) { + return NULL; + } + + // 至此,说明需要在len+1的位置上插入元素 + return L; +} diff --git a/CLion/ExerciseBook/02.37/DuLinkList.h b/CLion/ExerciseBook/02.37/DuLinkList.h new file mode 100644 index 0000000..a29fde1 --- /dev/null +++ b/CLion/ExerciseBook/02.37/DuLinkList.h @@ -0,0 +1,67 @@ +/*===================== + * 双向循环链表 + * + * 包含算法: 2.18、2.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 双向循环链表元素类型定义 */ +typedef int ElemType; + +/* + * 双向循环链表结构 + * + * 注:这里的双向循环链表存在头结点 + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // 前驱 + struct DuLNode* next; // 后继 +} DuLNode; + +// 指向双向循环链表结点的指针 +typedef DuLNode* DuLinkList; + + +/* + * 初始化 + * + * 初始化成功则返回OK,否则返回ERROR。 + */ +Status InitList(DuLinkList* L); + +/* + * ████████ 算法2.18 ████████ + * + * 插入 + * + * 向双向循环链表第i个位置上插入e,插入成功则返回OK,否则返回ERROR。 + * + *【备注】 + * 教材中i的含义是元素位置,从1开始计数 + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * 遍历 + * + * 用visit函数访问双向循环链表L + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * 获取循环链表L上第i个元素的引用 + * + * ▓▓▓▓ 注意 ▓▓▓▓ + * 1.加static的含义是当前函数只在DuLinkList中使用,不会被别的文件引用 + * 2.假设链表长度为len,且需要获取第len+1个元素的引用时,由于这里是循环链表,所以返回的是头结点 + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/CLion/ExerciseBook/02.38/02.38.c b/CLion/ExerciseBook/02.38/02.38.c new file mode 100644 index 0000000..0136963 --- /dev/null +++ b/CLion/ExerciseBook/02.38/02.38.c @@ -0,0 +1,153 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +/* 双向循环链表元素类型定义 */ +typedef int ElemType; + +/* + * 双向循环链表结构,增加了一个访问拼读域 + * + * 注:这里的双向循环链表存在头结点 + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // 前驱 + struct DuLNode* next; // 后继 + int freq; // 访问频度域 +} DuLNode; + +// 指向双循环链表结构的指针 +typedef DuLNode* DuLinkList; + +/* + * 题2.38 + * + * 查找元素e在首次在L中出现的位序,并按访问频度重排链表。 + */ +DuLinkList Algo_2_38(DuLinkList* L, ElemType e); + +// 创建双循环链表 +Status CreatList(DuLinkList* L, ElemType elems[], int n); + +// 正向输出链表 +void Output(DuLinkList L); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + ElemType data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + ElemType visit[10] = {1, 2, 2, 2, 3, 4, 4, 5, 5, 9}; + + CreatList(&L, data, 10); + printf("访问前: L = \n"); + Output(L); + + // 依次访问tmp中预设的数字 + for(i = 0; i < 10; i++) { + Algo_2_38(&L, visit[i]); + } + + printf("访问后:L = \n"); + Output(L); + + return 0; +} + +// 查找元素e在首次在L中出现的位序,并按访问频度重排链表 +DuLinkList Algo_2_38(DuLinkList* L, ElemType e) { + DuLinkList pre, r; + + // 确保链表存在 + if(L == NULL || *L == NULL) { + return NULL; + } + + for(pre = *L; pre->next != *L && pre->next->data != e; pre = pre->next) { + // 查找元素e的前驱 + } + + // 没找到满足条件的元素 + if(pre->next == *L) { + return NULL; + } + + // 摘下元素e + r = pre->next; + pre->next = r->next; + r->next->prior = pre; + + // 频度增一 + r->freq++; + + for(pre = *L; pre->next != *L && pre->next->freq > r->freq; pre = pre->next) { + // 根据访问频度,寻找元素e应该插入的位置的前驱 + } + + // 将元素e插入到合适的位置 + r->next = pre->next; + r->prior = pre; + pre->next->prior = r; + pre->next = r; + + // 返回指向元素e的引用 + return r; +} + +// 创建双循环链表 +Status CreatList(DuLinkList* L, ElemType elems[], int n) { + DuLinkList s, p; + int i; + + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->data = -1; + (*L)->prior = *L; + (*L)->next = *L; + (*L)->freq = 0; + + p = *L; + + for(i = 0; i < n; i++) { + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->freq = 0; + + // 尾插 + s->next = *L; + (*L)->prior = s; + s->prior = p; + p->next = s; + + p = p->next; + } + + return OK; +} + +// 正向输出链表 +void Output(DuLinkList L) { + DuLinkList p; + + if(L == NULL || L->next == L || L->prior == NULL) { + return; + } + + printf("数据:"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + printf("\n"); + + printf("频度:"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->freq); + } + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.38/CMakeLists.txt b/CLion/ExerciseBook/02.38/CMakeLists.txt new file mode 100644 index 0000000..a4ee52d --- /dev/null +++ b/CLion/ExerciseBook/02.38/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.38 02.38.c) +target_link_libraries(02.38 Scanf_lib) diff --git a/CLion/ExerciseBook/02.39-02.40/02.39-02.40.c b/CLion/ExerciseBook/02.39-02.40/02.39-02.40.c new file mode 100644 index 0000000..624c0b5 --- /dev/null +++ b/CLion/ExerciseBook/02.39-02.40/02.39-02.40.c @@ -0,0 +1,184 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include // 提供pow原型 +#include "Status.h" //**▲01 绪论**// + +// 稀疏多项式顺序结构 +typedef struct { + int coef; //系数 + int exp; //指数 +} PolyTerm; + +// 多项式的顺序存储结构 +typedef struct { + PolyTerm* data; + int last; // 多项式项数 +} SqPoly; + +/* + * 题2.39 + * + * 求多项式的值。 + */ +int Algo_2_39(SqPoly P, int x); + +/* + * 题2.40 + * + * Pc=Pa-Pb。 + */ +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc); + +// 创建稀疏多项式 +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n); + +// 输出稀疏多项式 +void OutputPoly(SqPoly P); + + +int main(int argc, char* argv[]) { + SqPoly Pa, Pb, Pc; + + PolyTerm a[5] = {{-2, 1}, {4, 3}, {11, 5}, {-7, 7}, {8, 9}}; + PolyTerm b[5] = {{3, 2}, {-5, 3}, {12, 4}, {-7, 7}, {6, 11}}; + + // 准备测试数据 + CreatPoly(&Pa, a, 5); + CreatPoly(&Pb, b, 5); + printf("Pan(x) = "); + OutputPoly(Pa); + printf("Pbn(x) = "); + OutputPoly(Pb); + + printf("\n"); + + printf("████████ 题 2.39 验证...\n"); + printf("█ Pa5(2) = %d", Algo_2_39(Pa, 2)); + printf("\n"); + printf("█ Pb5(2) = %d", Algo_2_39(Pb, 2)); + printf("\n\n"); + + printf("████████ 题 2.40 验证...\n"); + Algo_2_40(Pa, Pb, &Pc); + printf("█ Pcn(x) = "); + OutputPoly(Pc); + + printf("计算多项式Pc的值 Pc5(2) = %d\n", Algo_2_39(Pc, 2)); + + return 0; +} + + +// 求多项式的值 +int Algo_2_39(SqPoly P, int x) { + int i, sum; + + for(i = 0, sum = 0; i < P.last; i++) { + sum += P.data[i].coef * (int) (pow(x, P.data[i].exp)); + } + + return sum; +} + +// Pc=Pa-Pb +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc) { + int i, j, k, sum; + + (*Pc).data = (PolyTerm*) malloc((Pa.last + Pb.last) * sizeof(PolyTerm)); + if((*Pc).data == NULL) { + exit(OVERFLOW); + } + + i = j = k = 0; + + // 遍历Pa和Pb的公共部分 + while(i < Pa.last && j < Pb.last) { + // Pa指数较小,则处理Pa + if(Pa.data[i].exp < Pb.data[j].exp) { + (*Pc).data[k++] = Pa.data[i]; + i++; + // Pa指数较大,则处理Pb,只需简单改变系数符号就行 + } else if(Pa.data[i].exp > Pb.data[j].exp) { + (*Pc).data[k].coef = -Pb.data[j].coef; //符号改变 + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + // 指数相等时,需要做减法运算 + } else { + sum = Pa.data[i].coef - Pb.data[j].coef; + + // 如果相减后仍存在有效项 + if(sum != 0) { + (*Pc).data[k].coef = sum; + (*Pc).data[k].exp = Pa.data[i].exp; + k++; + } + + i++; + j++; + } + } + + // 如果Pa未扫描完,但Pb扫描完了,则把Pa中剩余部分存到Pc中 + while(i < Pa.last) { + (*Pc).data[k++] = Pa.data[i]; + i++; + } + + // 如果Pb未扫描完,则需要将其系数符号逆转后存到Pc中 + while(j < Pb.last) { + (*Pc).data[k].coef = -Pb.data[j].coef; + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + } + + // 记录运算后的项数 + (*Pc).last = k; + + return OK; +} + +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n) { + int i; + + (*P).data = (PolyTerm*) malloc(n * sizeof(PolyTerm)); + if((*P).data == NULL) { + exit(OVERFLOW); + } + (*P).last = n; + + for(i = 0; i < n; i++) { + (*P).data[i] = Data[i]; + } + + return OK; +} + +void OutputPoly(SqPoly P) { + int i; + + for(i = 0; i < P.last; i++) { + if(i == 0) { + printf("%d", P.data[i].coef); + } else { + if(P.data[i].coef < 0) { + printf(" - "); + printf("%d", -P.data[i].coef); + } else { + printf(" + "); + printf("%d", P.data[i].coef); + } + } + + if(P.data[i].exp) { + printf("x"); + + if(P.data[i].exp != 1) { + printf("^%d", P.data[i].exp); + } + } + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.39-02.40/CMakeLists.txt b/CLion/ExerciseBook/02.39-02.40/CMakeLists.txt new file mode 100644 index 0000000..a5292d3 --- /dev/null +++ b/CLion/ExerciseBook/02.39-02.40/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.39-02.40 02.39-02.40.c) +target_link_libraries(02.39-02.40 Scanf_lib) diff --git a/CLion/ExerciseBook/02.41-02.42/02.41-02.42.c b/CLion/ExerciseBook/02.41-02.42/02.41-02.42.c new file mode 100644 index 0000000..a345ee3 --- /dev/null +++ b/CLion/ExerciseBook/02.41-02.42/02.41-02.42.c @@ -0,0 +1,215 @@ +#include +#include // 提供malloc、realloc、free、exit原型 +#include "Status.h" //**▲01 绪论**// + +// 稀疏多项式的项 +typedef struct { + int coef; // 系数 + int exp; // 指数 +} PolyTerm; + +// 稀疏多项式链式结构(这里采用循环链表结构) +typedef struct PolyNode { + PolyTerm data; + struct PolyNode* next; +} PolyNode; + +typedef PolyNode* PolyLink; +typedef PolyLink LinkedPoly; + + +/* + * 题2.41 + * + * 求多项式的导函数。 + */ +Status Algo_2_41(LinkedPoly P); + +/* + * 题2.42 + * + * 按指数奇偶性拆分多项式。 + */ +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even); + +// 创建稀疏多项式 +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n); + +// 输出稀疏多项式 +void OutputPoly(LinkedPoly P); + + +int main(int argc, char* argv[]) { + LinkedPoly P1, P2; + PolyTerm a[7] = {{-2, 1}, {4, 2}, {2, 3}, {11, 5}, {-7, 6}, {8, 9}, {-3, 10}}; + + // 准备测试数据 + CreatPoly(&P1, a, 7); + CreatPoly(&P2, a, 7); + printf("Pn(x) = "); + OutputPoly(P1); + printf("\n"); + + printf("████████ 题 2.41 验证...\n"); + { + + Algo_2_41(P1); + printf("█ 求多项式的导函数之后...\n"); + printf("█ Pn(x) = "); + OutputPoly(P1); + printf("\n"); + } + + printf("████████ 题 2.42 验证...\n"); + { + LinkedPoly P_odd, P_even; + Algo_2_42(&P2, &P_odd, &P_even); + printf("█ 按指数奇偶性拆分多项式之后...\n"); + printf("█ 奇次幂 P_odd = "); + OutputPoly(P_odd); + printf("█ 偶次幂 P_even = "); + OutputPoly(P_even); + } + + return 0; +} + + +// 求多项式的导函数 +Status Algo_2_41(LinkedPoly P) { + LinkedPoly r, pre; + + if(P == NULL || P->next == P) { + return ERROR; + } + + pre = P; + r = P->next; + + while(r != P) { + // 存在不为0的指数 + if(r->data.exp != 0) { + r->data.coef *= r->data.exp; // 系数与指数想乘 + r->data.exp--; // 指数减一 + pre = r; + + // 指数为0时,该项求导后为0,需要删除当前结点 + } else { + pre->next = r->next; + free(r); + } + + r = pre->next; + } + + return OK; +} + +// 按指数奇偶性拆分多项式 +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even) { + LinkedPoly r, s, p, q; + + // 创建头结点 + *P_Odd = (LinkedPoly) malloc(sizeof(PolyNode)); + *P_Even = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P_Odd == NULL || *P_Even == NULL) { + exit(OVERFLOW); + } + (*P_Odd)->next = *P_Odd; + (*P_Even)->next = *P_Even; + + if(P == NULL || *P == NULL) { + return ERROR; + } + + p = *P_Odd; + q = *P_Even; + r = (*P)->next; + + // 遍历多项式,并将其拆分 + while(r != (*P)) { + s = r; + r = r->next; + + // 指数为奇数 + if(s->data.exp % 2 != 0) { + s->next = p->next; + p->next = s; + p = p->next; + + // 指数为偶数 + } else { + s->next = q->next; + q->next = s; + q = q->next; + } + } + + // 销毁原来的多项式 + free(*P); + *P = NULL; + + return OK; +} + +// 创建稀疏多项式 +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n) { + int i; + LinkedPoly s, r; + + // 创建头结点 + *P = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P == NULL) { + exit(OVERFLOW); + } + (*P)->next = *P; + + for(i = 0, r = *P; i < n; i++) { + s = (LinkedPoly) malloc(sizeof(PolyNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = Data[i]; + + // 链接到多项式中 + s->next = r->next; + r->next = s; + + r = r->next; + } + + return OK; +} + +// 输出稀疏多项式 +void OutputPoly(LinkedPoly P) { + LinkedPoly r; + + if(P == NULL || P->next == P) { + return; + } + + for(r = P->next; r != P; r = r->next) { + if(r == P->next) { + printf("%d", r->data.coef); + } else { + if(r->data.coef < 0) { + printf(" - "); + printf("%d", -r->data.coef); + } else { + printf(" + "); + printf("%d", r->data.coef); + } + } + + if(r->data.exp) { + printf("x"); + + if(r->data.exp != 1) { + printf("^%d", r->data.exp); + } + } + } + + printf("\n"); +} diff --git a/CLion/ExerciseBook/02.41-02.42/CMakeLists.txt b/CLion/ExerciseBook/02.41-02.42/CMakeLists.txt new file mode 100644 index 0000000..c73d572 --- /dev/null +++ b/CLion/ExerciseBook/02.41-02.42/CMakeLists.txt @@ -0,0 +1,6 @@ +# 包含公共库 +include_directories(${CMAKE_SOURCE_DIR}/Status) + +# 生成可执行文件,并链接公共库 +add_executable(02.41-02.42 02.41-02.42.c) +target_link_libraries(02.41-02.42 Scanf_lib) diff --git a/CLion/ExerciseBook/CMakeLists.txt b/CLion/ExerciseBook/CMakeLists.txt new file mode 100644 index 0000000..c0f1208 --- /dev/null +++ b/CLion/ExerciseBook/CMakeLists.txt @@ -0,0 +1,31 @@ +add_subdirectory(01.16) +add_subdirectory(01.17) +add_subdirectory(01.19) +add_subdirectory(01.20) + +add_subdirectory(02.10) +add_subdirectory(02.11) +add_subdirectory(02.12) +add_subdirectory(02.13) +add_subdirectory(02.14) +add_subdirectory(02.15) +add_subdirectory(02.16-02.18) +add_subdirectory(02.19-02.20) +add_subdirectory(02.21) +add_subdirectory(02.22) +add_subdirectory(02.23) +add_subdirectory(02.24) +add_subdirectory(02.25) +add_subdirectory(02.26) +add_subdirectory(02.27) +add_subdirectory(02.28) +add_subdirectory(02.29) +add_subdirectory(02.30) +add_subdirectory(02.31) +add_subdirectory(02.32) +add_subdirectory(02.33) +add_subdirectory(02.34-02.36) +add_subdirectory(02.37) +add_subdirectory(02.38) +add_subdirectory(02.39-02.40) +add_subdirectory(02.41-02.42) \ No newline at end of file diff --git a/CLion/README.md b/CLion/README.md index 7a32a17..2b8a2fe 100644 --- a/CLion/README.md +++ b/CLion/README.md @@ -8,3 +8,25 @@ > **CLion** [2019] > **Cygwin64** [gcc-7.3.0] + +## 使用说明 + +1. 确保 **CLion** 的工具链已配置完毕(配置方式可自行搜索) +![CLion00](image/CLion00.png) + +2. 启动 **CLion** ,选择"New CMake Project from Sources" +![CLion01](image/CLion01.png) + +3. 选择待启动的项目(CLion版本的源码) +![CLion02](image/CLion02.png) + +4. 选择"Open Existing Project",打开存在的项目,等待加载完成 +![CLion03](image/CLion03.png) + +5. 加载完成后,选择包含"main"方法的测试文件运行就可以 + +## 注意事项 + +1. 教材源码CourseBook跟习题集源码ExerciseBook是放在**一个项目**当中的 +2. CLion版本的源码,其文件编码格式使用了UTF-8 +3. CLion除了支持使用gcc编译器,也支持使用Microsoft Visual C++的MSVC++编译器(参见第一张图的工具链配置)。如果想使用MSVC++编译器,则需要将文件编码格式更改为与本地编码一致(中文环境一般为GB2312),否则输出内容时会出现乱码。 diff --git a/CLion/Status/CMakeLists.txt b/CLion/Status/CMakeLists.txt new file mode 100644 index 0000000..4c5a673 --- /dev/null +++ b/CLion/Status/CMakeLists.txt @@ -0,0 +1,8 @@ +# 生成一个静态库,因为所有其他数据结构都会引用这个库 +add_library(Scanf_lib Status.c) + +# 注: +## 本次修订的目的包括降低耦合,争取每个模块都可以单独运行 +## 但是Status这个模块会被所有其他模块引用,引用次数很多。 +## 如果直接将Status模块复制到其它模块中,则会导致太多重复代码, +## 因此这里生成一个公共静态库让其它模块共享比较划算 diff --git a/CLion/Status/Status.c b/CLion/Status/Status.c new file mode 100644 index 0000000..be9a4e6 --- /dev/null +++ b/CLion/Status/Status.c @@ -0,0 +1,164 @@ +#include +#include +#include // 提供宏va_list、va_start、va_arg、va_end +#include // 提供isprint原型 + +/* + * 这是自定义的数据录入函数,用于从文件fp中读取格式化的输入 + * 与fscanf不同之处在于此函数只会读取西文字符,对于中文字符,则会跳过 + * + * 注: + * 1. 这里约定所有格式串为简单形式,如:%d%c%s等,而不是%2d%5s等 + * 2. 读取字符串时,遇到空格或非打印字符会停止读取 + */ +int ReadData(FILE* fp, char* format, ...) { + int* i; // 存储读取到的整型 + float* f; // 存储读取到的浮点型 + char* ch; // 存储读取到的字符型 + char* s; // 存储读取到的字符串型 + + int n; // 遍历存储字符串的字符数组 + + int len; // 格式串format的长度 + int k; // 遍历格式串时的游标 + + int tmp; // 暂存从文件中读取到的字符 + + va_list ap; // 可变参数指针,指向存储数据的变量 + + // 累计成功读取到的字符数 + int count = 0; + + + /* + * 获取格式串的长度 + * 这里预设格式串仅由简单 + */ + len = strlen(format); + + // ap指向首个可变参数 + va_start(ap, format); + + // 只遍历奇数索引,因为偶数索引下都是% + for(k = 1; k <= len; k = k + 2) { + // 跳过所有非西文字符 + while((tmp = getc(fp)) != EOF) { + // 遇到首个西文字符,将此西文字符重新放入输入流 + if((tmp >= 0 && tmp <= 127)) { + ungetc(tmp, fp); + break; + } + } + + // 如果已读到文件结尾,结束读取 + if(tmp == EOF) { + break; + } + + // 遇到了"%c",应该读取字符 + if(format[k] == 'c') { + ch = va_arg(ap, char*); + + count += fscanf(fp, "%c", ch); + } + + // 遇到了"%d",应该读取整型 + if(format[k] == 'd') { + i = va_arg(ap, int*); + + while((tmp = getc(fp)) != EOF) { + // 寻找整数区域 + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%d", i); + } + } + + // 读取浮点型,一律存储为double类型 + if(format[k] == 'f') { + f = va_arg(ap, float*); + + while((tmp = getc(fp)) != EOF) { + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+' || tmp == '.') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%f", f); + } + } + + // 读取字符串 + if(format[k] == 's') { + s = va_arg(ap, char*); + + n = 0; + + // 查找排除空格的可打印字符 + while((tmp = getc(fp)) != EOF && (!isprint(tmp) || tmp == ' ')) { + } + + // 如果未到文件结尾 + if(!feof(fp)) { + + // 将上面读到的字符重新放入流中 + ungetc(tmp, fp); + + while((tmp = getc(fp)) != EOF) { + // 存储排除空格的可打印字符 + if(isprint(tmp) && tmp != ' ') { + s[n++] = tmp; + } else { + ungetc(tmp, fp); + break; + } + } + + count++; + } + + // 字符串最后一个字符为空字符 + s[n] = '\0'; + } + }// for + + va_end(ap); + + return count; +} + +// 摁下回车键以继续运行 +void PressEnterToContinue() { + int debug = 1; + + fflush(stdin); + + printf("\nPress Enter to Continue..."); + + // 处于测试阶段时,可以让debug=1,自动添加换行,便于测试 + if(debug) { + printf("\n"); + + // 发布时,可以让debug=0,手动输入换行,否则让程序暂停下来,观察每一步的输出 + } else { + getchar(); + } + + fflush(stdin); +} + +// 函数暂停一段时间,time不代表具体的时间 +void Wait(long time) { + double i; + + for(i = 0.01; i <= 100000.0 * time; i += 0.01) { + // 空循环 + } +} diff --git a/CLion/Status/Status.h b/CLion/Status/Status.h new file mode 100644 index 0000000..0279a70 --- /dev/null +++ b/CLion/Status/Status.h @@ -0,0 +1,45 @@ +/* + * 注: + * 本次修订的目的包括降低耦合,争取每个模块都可以单独运行 + * 但是Status这个模块会被所有其他模块引用,引用次数很多。 + * 如果直接将Status模块复制到其它模块中,则会导致太多重复代码, + * 因此这里生成一个公共静态库让其它模块共享比较划算 + */ + +#ifndef STATUS_H +#define STATUS_H + +#include + +/* 状态码 */ +#define TRUE 1 // 真/是 +#define FALSE 0 // 假/否 +#define OK 1 // 通过/成功 +#define ERROR 0 // 错误/失败 + +//系统中已有此状态码定义,要防止冲突 +#ifndef OVERFLOW +#define OVERFLOW -2 //堆栈上溢 +#endif + +//系统中已有此状态码定义,要防止冲突 +#ifndef NULL +#define NULL ((void*)0) +#endif + +/* 状态码类型 */ +typedef int Status; + + +// 读取数据 +int ReadData(FILE* fp, char* format, ...); + +// 摁下回车键以继续运行 +void PressEnterToContinue(); + +// 函数暂停一段时间,time不代表具体的时间 +void Wait(long time); + +#endif + + diff --git a/CLion/image/CLion00.png b/CLion/image/CLion00.png new file mode 100644 index 0000000000000000000000000000000000000000..a61c6ffd59c6a9509138febe96b7ac4cbe6316fe GIT binary patch literal 44126 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 M7+;M1& literal 0 HcmV?d00001 diff --git a/CLion/image/CLion02.png b/CLion/image/CLion02.png new file mode 100644 index 0000000000000000000000000000000000000000..9eb5e18e793dfc2272f5828f3270b398cfca81b2 GIT binary patch literal 23514 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 F{vXgw^iKc) literal 0 HcmV?d00001 diff --git a/CLion/image/CLion03.png b/CLion/image/CLion03.png new file mode 100644 index 0000000000000000000000000000000000000000..7075590661fe8a9998101c9f743dabf413fda38c GIT binary patch literal 6241 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 Ae*gdg literal 0 HcmV?d00001 diff --git a/Dev-C++/CourseBook/0201_SqList/SqList-main.cpp b/Dev-C++/CourseBook/0201_SqList/SqList-main.cpp new file mode 100644 index 0000000..684e954 --- /dev/null +++ b/Dev-C++/CourseBook/0201_SqList/SqList-main.cpp @@ -0,0 +1,171 @@ +#include +#include "SqList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SqList L; // ˳ + + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ˳ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" Ϊʾ L %d λò \"%d\"...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + i = ListLength(L); + printf(" L ijΪ %d \n", i); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", L.elem[i - 1]); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + + ClearList(&L); + + printf(" L "); + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + if(L.elem != NULL) { + printf(" L ڣ\n"); + } else { + printf(" L ڣ\n"); + } + + DestroyList(&L); + + printf(" L "); + if(L.elem != NULL) { + printf(" L ڣ\n"); + } else { + printf(" L ڣ\n"); + } + } + PressEnterToContinue(); + + + return 0; +} + diff --git a/Dev-C++/CourseBook/0201_SqList/SqList.cpp b/Dev-C++/CourseBook/0201_SqList/SqList.cpp new file mode 100644 index 0000000..79387a1 --- /dev/null +++ b/Dev-C++/CourseBook/0201_SqList/SqList.cpp @@ -0,0 +1,338 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * (ṹ) + * + * ͷ˳ռڴ档 + */ +Status DestroyList(SqList* L) { + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // ͷ˳ڴ + free((*L).elem); + + // ͷڴÿָ + (*L).elem = NULL; + + // ˳ȸ + (*L).length = 0; + (*L).listsize = 0; + + return OK; +} + +/* + * ÿ() + * + * ֻ˳д洢ݣͷ˳ռڴ档 + */ +Status ClearList(SqList* L) { + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + (*L).length = 0; + + return OK; +} + +/* + * п + * + * ж˳ǷЧݡ + * + * ֵ + * TRUE : ˳Ϊ + * FALSE: ˳Ϊ + */ +Status ListEmpty(SqList L) { + return L.length == 0 ? TRUE : FALSE; +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e) { + int i; + + // ȷ˳ṹڣٰԪ + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // iʼΪ1Ԫصġ + i = 0; + + // ӵ1Ԫؿʼcur_eλ + while(i < L.length && L.elem[i] != cur_e) { + ++i; + } + + // cur_e׸Ԫ(ûǰ)ûҵԪcur_eERROR + if(i==0 || i >= L.length) { + return ERROR; + } + + // 洢cur_eǰ + *pre_e = L.elem[i - 1]; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e) { + int i; + + // ȷ˳ṹڣٰԪ + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // iʼΪ1Ԫصġ + i = 0; + + // ӵ1Ԫؿʼcur_eλ + while(i < L.length-1 && L.elem[i] != cur_e) { + ++i; + } + + // cur_e1Ԫ(ûǰ)ûҵԪcur_eERROR + if(i >= L.length-1) { + return ERROR; + } + + // 洢cur_eǰ + *next_e = L.elem[i + 1]; + + return OK; +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * 㷨2.5 + * + * ɾ + * + * ɾ˳iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SqList* L, int i, ElemType* e) { + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length) { + return ERROR; + } + + // pΪɾԪصλ + p = &(*L).elem[i - 1]; + + // 1.ȡɾԪ + *e = *p; + + // βԪλ + q = (*L).elem + (*L).length - 1; + + // 2.ԪأɾԪصλϻԪؽ + for(++p; p <= q; ++p) { + *(p - 1) = *p; + } + + // 3.1 + (*L).length--; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} + diff --git a/Dev-C++/CourseBook/0201_SqList/SqList.dev b/Dev-C++/CourseBook/0201_SqList/SqList.dev new file mode 100644 index 0000000..06cb8da --- /dev/null +++ b/Dev-C++/CourseBook/0201_SqList/SqList.dev @@ -0,0 +1,82 @@ +[Project] +FileName=SqList.dev +Name=SqList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker=_@@_ +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName=SqList.exe +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion=1.0.0.0 +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit2] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0201_SqList/SqList.h b/Dev-C++/CourseBook/0201_SqList/SqList.h new file mode 100644 index 0000000..655ee13 --- /dev/null +++ b/Dev-C++/CourseBook/0201_SqList/SqList.h @@ -0,0 +1,150 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * (ṹ) + * + * ͷ˳ռڴ档 + */ +Status DestroyList(SqList* L); + +/* + * ÿ() + * + * ֻ˳д洢ݣͷ˳ռڴ档 + */ +Status ClearList(SqList* L); + +/* + * п + * + * ж˳ǷЧݡ + * + * ֵ + * TRUE : ˳Ϊ + * FALSE: ˳Ϊ + */ +Status ListEmpty(SqList L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 㷨2.5 + * + * ɾ + * + * ɾ˳iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SqList* L, int i, ElemType* e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif + diff --git a/Dev-C++/CourseBook/0202_Union/SqList.cpp b/Dev-C++/CourseBook/0202_Union/SqList.cpp new file mode 100644 index 0000000..6a7df05 --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/SqList.cpp @@ -0,0 +1,173 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} + diff --git a/Dev-C++/CourseBook/0202_Union/SqList.h b/Dev-C++/CourseBook/0202_Union/SqList.h new file mode 100644 index 0000000..4ea223f --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/SqList.h @@ -0,0 +1,94 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif + diff --git a/Dev-C++/CourseBook/0202_Union/Union-main.cpp b/Dev-C++/CourseBook/0202_Union/Union-main.cpp new file mode 100644 index 0000000..8a6c397 --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/Union-main.cpp @@ -0,0 +1,44 @@ +#include +#include "Union.h" //**02 Ա**// +#include "SqList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[5] = {5, 2, 1, 3, 9}; + ElemType b[7] = {7, 2, 6, 9, 11, 3, 10}; + SqList La, Lb; + int i; + + // ʼLa + InitList(&La); + for(i = 1; i <= 5; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // ʼLb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // La + printf("La = "); + ListTraverse(La, PrintElem); + + // Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // ±La + printf("La = LaLb = "); + Union(&La, Lb); + ListTraverse(La, PrintElem); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0202_Union/Union.cpp b/Dev-C++/CourseBook/0202_Union/Union.cpp new file mode 100644 index 0000000..ec0245a --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/Union.cpp @@ -0,0 +1,46 @@ +/*============== + * 󲢼 + * + * 㷨: 2.1 + ===============*/ + +#include "Union.h" //**02 Ա**// + +/* + * 㷨2.1 + * + * A=AB + * + * LaLbIJء + * ɵIJƴLaϣLaΪָ͡ + */ +void Union(SqList* La, SqList Lb) { + int La_len, Lb_len; + int i; + ElemType e; + + // ˳ + La_len = ListLength(*La); + Lb_len = ListLength(Lb); + + for(i = 1; i <= Lb_len; i++) { + // ȡLbеiԪظe + GetElem(Lb, i, &e); + + // eLa + if(!LocateElem(*La, e, equal)) { + ListInsert(La, ++La_len, e); + } + } +} + +/* + * е + * + * жԪǷȡ + * ȣ򷵻TRUE򣬷FALSE + */ +Status equal(ElemType e1, ElemType e2) { + return e1 == e2 ? TRUE : FALSE; +} + diff --git a/Dev-C++/CourseBook/0202_Union/Union.dev b/Dev-C++/CourseBook/0202_Union/Union.dev new file mode 100644 index 0000000..3d910ea --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/Union.dev @@ -0,0 +1,102 @@ +[Project] +FileName=Union.dev +Name=Union +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName=Union.exe +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=5 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion=1.0.0.0 +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit2] +FileName=Union.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=Union.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=Union-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0202_Union/Union.h b/Dev-C++/CourseBook/0202_Union/Union.h new file mode 100644 index 0000000..c089ede --- /dev/null +++ b/Dev-C++/CourseBook/0202_Union/Union.h @@ -0,0 +1,34 @@ +/*============== + * 󲢼 + * + * 㷨: 2.1 + ===============*/ + +#ifndef UNION_H +#define UNION_H + +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + + +/* + * 㷨2.1 + * + * A=AB + * + * LaLbIJء + * ɵIJƴLaϣLaΪָ͡ + */ +void Union(SqList* La, SqList Lb); + +/* + * е + * + * жԪǷȡ + * ȣ򷵻TRUE򣬷FALSE + */ +Status equal(ElemType e1, ElemType e2); + +#endif + diff --git a/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList-main.cpp b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList-main.cpp new file mode 100644 index 0000000..f6834fa --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList-main.cpp @@ -0,0 +1,49 @@ +#include +#include "SqList.h" +#include "MergeSqList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[4] = {3, 5, 8, 11}; + ElemType b[7] = {2, 6, 8, 9, 11, 15, 20}; + + SqList La, Lb, Lc1, Lc2; + int i; + + // ʼLa + InitList(&La); + for(i = 1; i <= 4; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // ʼLb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // La + printf("La = "); + ListTraverse(La, PrintElem); + + // Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 鲢˳LaLb㷨2.2 + MergeSqList_1(La, Lb, &Lc1); + printf("鲢LaLbΪLc1 = "); + ListTraverse(Lc1, PrintElem); + + // 鲢˳LaLb㷨2.7 + MergeSqList_2(La, Lb, &Lc2); + printf("鲢LaLbΪLc2 = "); + ListTraverse(Lc2, PrintElem); + + return 0; +} diff --git a/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.cpp b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.cpp new file mode 100644 index 0000000..4df7d41 --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.cpp @@ -0,0 +1,104 @@ +/*================== + * 鲢ǽ˳ + * + * 㷨: 2.22.7 + ===================*/ + +#include "MergeSqList.h" //**02 Ա**// + + +/* + * 㷨2.2 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc) { + int La_len, Lb_len; + int i, j, k; + ElemType ai, bj; + + i = j = 1; + k = 0; + + // ʼLc + InitList(Lc); + + // ȡLaLbij + La_len = ListLength(La); + Lb_len = ListLength(Lb); + + // LaLbδ + while(i <= La_len && j <= Lb_len) { + GetElem(La, i, &ai); + GetElem(Lb, j, &bj); + + // ȽϱԪأȽȽСԪؼ˳Lc + if(ai <= bj) { + ListInsert(Lc, ++k, ai); + i++; + } else { + ListInsert(Lc, ++k, bj); + j++; + } + } + + // Lbѱ꣬Laδ꣬LaʣԪؼLc + while(i <= La_len) { + GetElem(La, i++, &ai); + ListInsert(Lc, ++k, ai); + } + + // Laѱ꣬Lbδ꣬LbʣԪؼLc + while(j <= Lb_len) { + GetElem(Lb, j++, &bj); + ListInsert(Lc, ++k, bj); + } +} + +/* + * 㷨2.7 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc) { + ElemType* pa, * pb, * pc; + ElemType* pa_last, * pb_last; + + pa = La.elem; // ָLaһԪ + pb = Lb.elem; // ָLbһԪ + + // ûʹInitListLc + (*Lc).listsize = (*Lc).length = La.length + Lb.length; + pc = (*Lc).elem = (ElemType*) malloc((*Lc).listsize * sizeof(ElemType)); + if(pc == NULL) { + exit(OVERFLOW); + } + + pa_last = La.elem + La.length - 1; // ָLaһԪ + pb_last = Lb.elem + Lb.length - 1; // ָLbһԪ + + // LaLbδ + while(pa <= pa_last && pb <= pb_last) { + if(*pa <= *pb) { + *pc++ = *pa++; + } else { + *pc++ = *pb++; + } + } + + // Lbѱ꣬Laδ꣬LaʣԪؼLc + while(pa <= pa_last) { + *pc++ = *pa++; + } + + // Laѱ꣬Lbδ꣬LbʣԪؼLc + while(pb <= pb_last) { + *pc++ = *pb++; + } +} \ No newline at end of file diff --git a/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.dev b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.dev new file mode 100644 index 0000000..9daeb8f --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.dev @@ -0,0 +1,102 @@ +[Project] +FileName=MergeSqList.dev +Name=MergeSqList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=5 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=MergeSqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=MergeSqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=MergeSqList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.h b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.h new file mode 100644 index 0000000..12704b0 --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/MergeSqList.h @@ -0,0 +1,35 @@ +/*================== + * 鲢ǽ˳ + * + * 㷨: 2.22.7 + ===================*/ + +#ifndef MERGESQLIST_H +#define MERGESQLIST_H + +#include +#include +#include "SqList.h" //**02 Ա**// + + +/* + * 㷨2.2 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc); + +/* + * 㷨2.7 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc); + +#endif diff --git a/Dev-C++/CourseBook/0203_MergeSqList/SqList.cpp b/Dev-C++/CourseBook/0203_MergeSqList/SqList.cpp new file mode 100644 index 0000000..93b7b2c --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/SqList.cpp @@ -0,0 +1,129 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/CourseBook/0203_MergeSqList/SqList.h b/Dev-C++/CourseBook/0203_MergeSqList/SqList.h new file mode 100644 index 0000000..a90a6f3 --- /dev/null +++ b/Dev-C++/CourseBook/0203_MergeSqList/SqList.h @@ -0,0 +1,80 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/CourseBook/0204_LinkList/LinkList-main.cpp b/Dev-C++/CourseBook/0204_LinkList/LinkList-main.cpp new file mode 100644 index 0000000..c2790e2 --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/LinkList-main.cpp @@ -0,0 +1,170 @@ +#include +#include "Status.h" +#include "LinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList L; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + } + PressEnterToContinue(); + + + printf(" CreateList_Head \n"); + { + LinkList L; + printf(" ͷ巨 L = "); + CreateList_Head("TestData_Head.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" CreateList_Tail \n"); + { + LinkList L; + printf(" β巨 L = "); + CreateList_Tail("TestData_Tail.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0204_LinkList/LinkList.cpp b/Dev-C++/CourseBook/0204_LinkList/LinkList.cpp new file mode 100644 index 0000000..d87e5b5 --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/LinkList.cpp @@ -0,0 +1,488 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ棬ͷҲᱻ + */ +Status DestroyList(LinkList* L) { + LinkList p; + + // ȷṹ + if(L == NULL || *L == NULL) { + return ERROR; + } + + p = *L; + + while(p != NULL) { + p = (*L)->next; + free(*L); + (*L) = p; + } + + *L = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(LinkList L) { + LinkList pre, p; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L->next; + + // ͷнռڴ + while(p != NULL) { + pre = p; + p = p->next; + free(pre); + } + + L->next = NULL; + + return OK; +} + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(LinkList L) { + // ֻͷʱΪΪ + if(L != NULL && L->next == NULL) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * 㷨2.8 + * + * ȡֵ + * + * ȡеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(LinkList L, int i, ElemType* e) { + LinkList p; + int j; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪNULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e) { + LinkList pre, next; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // ָ1Ԫ + pre = L->next; + + // 1Ԫûǰ + if(pre->data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + next = pre->next; + + // ӵ2Ԫؿʼcur_eλ + while(next != NULL && next->data != cur_e) { + pre = next; + next = next->next; + } + + // ûҵԪcur_eʧܣERROR + if(next == NULL) { + return ERROR; + } + + *pre_e = pre->data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e) { + LinkList pre; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // ָ1Ԫ + pre = L->next; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̲ΪNULL + while(pre->next != NULL && pre->data != cur_e) { + pre = pre->next; + } + + // ûҵcur_eҵˣûк̣ERROR + if(pre->next == NULL) { + return ERROR; + } + + *next_e = pre->next->data; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 㷨2.10 + * + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(LinkList L, int i, ElemType* e) { + LinkList p, q; + int j; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪNULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + // ɾi + q = p->next; + p->next = q->next; + *e = q->data; + free(q); + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + // ½ + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/Dev-C++/CourseBook/0204_LinkList/LinkList.dev b/Dev-C++/CourseBook/0204_LinkList/LinkList.dev new file mode 100644 index 0000000..8098a54 --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/LinkList.dev @@ -0,0 +1,100 @@ +[Project] +FileName=LinkList.dev +Name=LinkList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=5 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=TestData_Head.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=TestData_Tail.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0204_LinkList/LinkList.h b/Dev-C++/CourseBook/0204_LinkList/LinkList.h new file mode 100644 index 0000000..6e7e06a --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/LinkList.h @@ -0,0 +1,168 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(LinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(LinkList L); + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(LinkList L); + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L); + +/* + * 㷨2.8 + * + * ȡֵ + * + * ȡеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(LinkList L, int i, ElemType* e); + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 㷨2.10 + * + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(LinkList L, int i, ElemType* e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/Dev-C++/CourseBook/0204_LinkList/TestData_Head.txt b/Dev-C++/CourseBook/0204_LinkList/TestData_Head.txt new file mode 100644 index 0000000..4820e7d --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/TestData_Head.txt @@ -0,0 +1 @@ +9 7 5 3 1 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0204_LinkList/TestData_Tail.txt b/Dev-C++/CourseBook/0204_LinkList/TestData_Tail.txt new file mode 100644 index 0000000..e2b34ca --- /dev/null +++ b/Dev-C++/CourseBook/0204_LinkList/TestData_Tail.txt @@ -0,0 +1 @@ +2 4 6 8 10 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0205_MergeList/LinkList.cpp b/Dev-C++/CourseBook/0205_MergeList/LinkList.cpp new file mode 100644 index 0000000..1fc32b4 --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/LinkList.cpp @@ -0,0 +1,138 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + // ½ + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/Dev-C++/CourseBook/0205_MergeList/LinkList.h b/Dev-C++/CourseBook/0205_MergeList/LinkList.h new file mode 100644 index 0000000..02a6994 --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/LinkList.h @@ -0,0 +1,61 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/Dev-C++/CourseBook/0205_MergeList/MergeList-main.cpp b/Dev-C++/CourseBook/0205_MergeList/MergeList-main.cpp new file mode 100644 index 0000000..fbf6614 --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/MergeList-main.cpp @@ -0,0 +1,31 @@ +#include +#include "MergeList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList La, Lb, Lc; + + int m = 5; + + printf("ΪʾLa趨Ϊ %d Lb趨Ϊ %d LaLb...\n", m, m); + + CreateList_Head("TestData_Head.txt", &La, m); + printf("La = "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Tail.txt", &Lb, m); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + printf("鲢LaLbΪLc = "); + MergeList(&La, &Lb, &Lc); + ListTraverse(Lc, PrintElem); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0205_MergeList/MergeList.cpp b/Dev-C++/CourseBook/0205_MergeList/MergeList.cpp new file mode 100644 index 0000000..95f6062 --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/MergeList.cpp @@ -0,0 +1,45 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.12 + ================*/ + +#include "MergeList.h" //**02 Ա**// + +/* + * 㷨2.12 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * LcLaͷ㣬LbнLcС + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc) { + LinkList pa, pb, pc; + + pa = (*La)->next; + pb = (*Lb)->next; + pc = *Lc = *La; // LaͷΪLcͷ + + // LaLb + while(pa && pb) { + if(pa->data <= pb->data) { + pc->next = pa; + pc = pa; + pa = pa->next; + } else { + pc->next = pb; + pc = pb; + pb = pb->next; + } + } + + // ʣ + pc->next = pa ? pa : pb; + + // ͷLbͷռڴ + free(*Lb); + + *La = NULL; + *Lb = NULL; +} diff --git a/Dev-C++/CourseBook/0205_MergeList/MergeList.dev b/Dev-C++/CourseBook/0205_MergeList/MergeList.dev new file mode 100644 index 0000000..d114afe --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/MergeList.dev @@ -0,0 +1,120 @@ +[Project] +FileName=MergeList.dev +Name=MergeList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=7 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=MergeList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=MergeList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=MergeList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=TestData_Head.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=TestData_Tail.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0205_MergeList/MergeList.h b/Dev-C++/CourseBook/0205_MergeList/MergeList.h new file mode 100644 index 0000000..4a7a263 --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/MergeList.h @@ -0,0 +1,24 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.12 + ================*/ + +#ifndef MERGELIST_H +#define MERGELIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "LinkList.h" //**02 Ա**// + +/* + * 㷨2.12 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * LcLaͷ㣬LbнLcС + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc); + +#endif diff --git a/Dev-C++/CourseBook/0205_MergeList/TestData_Head.txt b/Dev-C++/CourseBook/0205_MergeList/TestData_Head.txt new file mode 100644 index 0000000..4820e7d --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/TestData_Head.txt @@ -0,0 +1 @@ +9 7 5 3 1 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0205_MergeList/TestData_Tail.txt b/Dev-C++/CourseBook/0205_MergeList/TestData_Tail.txt new file mode 100644 index 0000000..e2b34ca --- /dev/null +++ b/Dev-C++/CourseBook/0205_MergeList/TestData_Tail.txt @@ -0,0 +1 @@ +2 4 6 8 10 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0206_SLinkList/SLinkList-main.cpp b/Dev-C++/CourseBook/0206_SLinkList/SLinkList-main.cpp new file mode 100644 index 0000000..c9fb486 --- /dev/null +++ b/Dev-C++/CourseBook/0206_SLinkList/SLinkList-main.cpp @@ -0,0 +1,152 @@ +#include +#include "Status.h" +#include "SLinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // ÿռ + int S; // ̬ͷ + + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ S ...\n"); + InitList(space, &S); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" S %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(space, S, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" S еԪΪS = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" S ijΪ %d \n", ListLength(space, S)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأS = "); + ListTraverse(space, S, PrintElem); + + printf(" ɾ S е 6 Ԫ...\n"); + + if(ListDelete(space, S, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأS = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(space, S, 4, &e); + printf(" S е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(space, S, 7, CmpGreater); + GetElem(space, S, i, &e); + printf(" S еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(space, S, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(space, S, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" S ǰ"); + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + + ClearList(space, S); + + printf(" S "); + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" S ǰ"); + S!=0 ? printf(" S ڣ\n") : printf(" S ڣ\n"); + + DestroyList(space, &S); + + printf(" S "); + S!=0 ? printf(" S ڣ\n") : printf(" S ڣ\n"); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0206_SLinkList/SLinkList.cpp b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.cpp new file mode 100644 index 0000000..8884b59 --- /dev/null +++ b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.cpp @@ -0,0 +1,470 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 뵽Ŀռӱÿռɾȥ + space[0].cur = space[i].cur; + } + + // ± + return i; +} + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/* ̬ */ + +/* + * ʼ + * + * ȳʼÿռ䣬ӱÿռͷĿռ䣬ɾ̬ijʼ + * ʼɹʹS洢ͷҷOK򷵻ERROR + */ +Status InitList(SLinkList space, int* S) { + int index; + + // ʼÿռ + InitSpace(space); + + // ͷռ + index = Malloc(space); + + if(index == 0) { + return ERROR; + } + + space[index].cur = 0; + + *S = index; + + return OK; +} + +/* + * (ṹ) + * + * ͷž̬ռڴ棬̬нռ뱸ÿռбС + */ +Status DestroyList(SLinkList space, int* S) { + int cur; + + // ȷ̬ + if(S == NULL || *S == 0) { + return ERROR; + } + + while(*S != 0) { + // ݴһ + cur = space[*S].cur; + // յǰռռ + Free(space, *S); + // ǰһ + *S = cur; + } + + return OK; +} + +/* + * ÿ() + * + * Ҫͷž̬зͷ㴦Ŀռ䡣 + */ +Status ClearList(SLinkList space, int S) { + int P; + int cur; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + // ȡ̬׸ + P = space[S].cur; + + while(P != 0) { + // ݴһ + cur = space[P].cur; + // յǰռռ + Free(space, P); + // ǰһ + P = cur; + } + + space[S].cur = 0; + + return OK; +} + +/* + * п + * + * жϾ̬ǷЧݡ + * + * ֵ + * TRUE : ̬Ϊ + * FALSE: ̬Ϊ + */ +Status ListEmpty(SLinkList space, int S) { + // ֻͷľ̬Ϊձ + if(S != 0 && space[S].cur == 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ؾ̬ЧԪص + */ +int ListLength(SLinkList space, int S) { + int count; + + // ̬ڣ̬Ϊʱ0 + if(S == 0 || space[S].cur == 0) { + return 0; + } + + // ȡ̬׸Ԫص + S = space[S].cur; + count = 0; + + while(S != 0) { + count++; + S = space[S].cur; + } + + return count; +} + +/* + * ȡֵ + * + * ȡ̬еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e) { + int count; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ȡ̬׸Ԫص + S = space[S].cur; + count = 0; + + while(S != 0 && count < i - 1) { + count++; + S = space[S].cur; + } + + if(S == 0 || count > i - 1) { + return ERROR; + } + + *e = space[S].data; + + return OK; +} + +/* + * 㷨2.13 + * + * + * + * ؾ̬׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * 1.ԪeCompareڶβ + * 2.ʵ̲ϵ㷨2.13ͬԭμġע⡱Ϣ + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + int p; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = space[S].cur; // pijֵΪ1Ԫص + + while(p != 0 && !Compare(space[p].data, e)) { + i++; + p = space[p].cur; + } + + if(p != 0) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e) { + int pre, next; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ָ1Ԫ + pre = space[S].cur; + + // 1Ԫûǰ + if(space[pre].data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + next = space[pre].cur; + + // ӵ2Ԫؿʼcur_eλ + while(next != 0 && space[next].data != cur_e) { + pre = next; + next = space[next].cur; + } + + // ûҵԪcur_eʧܣERROR + if(next == 0) { + return ERROR; + } + + *pre_e = space[pre].data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e) { + int pre; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ָ1Ԫ + pre = space[S].cur; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̴ + while(space[pre].cur != 0 && space[pre].data != cur_e) { + pre = space[pre].cur; + } + + // ûҵcur_eҵˣûк̣ERROR + if(space[pre].cur == 0) { + return ERROR; + } + + *next_e = space[space[pre].cur].data; + + return OK; +} + +/* + * + * + * ̬iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e) { + int p, s; + int j; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾 + while(p != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == 0 || j > i - 1) { + return ERROR; + } + + // ½ + s = Malloc(space); + space[s].data = e; + space[s].cur = space[p].cur; + space[p].cur = s; + + return OK; +} + +/* + * ɾ + * + * ɾ̬iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e) { + int p, q; + int j; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̴ + while(space[p].cur != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(space[p].cur == 0 || j > i - 1) { + return ERROR; + } + + // ɾi + q = space[p].cur; + space[p].cur = space[q].cur; + *e = space[q].data; + Free(space, q); + + return OK; +} + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // ȷ + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== ÿռ ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== ̬ ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} + diff --git a/Dev-C++/CourseBook/0206_SLinkList/SLinkList.dev b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.dev new file mode 100644 index 0000000..3dc6ffd --- /dev/null +++ b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.dev @@ -0,0 +1,82 @@ +[Project] +FileName=SLinkList.dev +Name=SLinkList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit3] +FileName=SLinkList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=SLinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SLinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0206_SLinkList/SLinkList.h b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.h new file mode 100644 index 0000000..c511f6c --- /dev/null +++ b/Dev-C++/CourseBook/0206_SLinkList/SLinkList.h @@ -0,0 +1,208 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define MAXSIZE 1000 // ÿռھ̬󳤶 + +/* ̬ԪͶ */ +typedef int ElemType; + +/* + * ̬ṹ + * + * ע̬һ飬ռÿռͿпռ + */ +typedef struct SLinkNode { + ElemType data; + int cur; // curαָ꣬ãһ㣨±꣩ +} SLinkList[MAXSIZE]; // ռ + + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* + * ע + * + * ̲㷨2.13㷨2.14~2.17ж漰̬IJ + * 㷨Ԥݽṹȴͬ + * + * 㷨2.13Ԥ鶼Ǿ̬() + * 㷨2.14~2.17ֻǽԤΪÿռ䣬 + * ̬ռǻڱÿռͷŵ() + * + * ʵֵĴУ㷨2.14~2.17ԤݽṹΪ׼ + * ԣ㷨2.13ʵֻн̲ͬ + */ + + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space); + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space); + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k); + + +/* ̬ */ + +/* + * ʼ + * + * ȳʼÿռ䣬ӱÿռͷĿռ䣬ɾ̬ijʼ + * ʼɹʹS洢ͷҷOK򷵻ERROR + */ +Status InitList(SLinkList space, int* S); + +/* + * (ṹ) + * + * ͷž̬ռڴ棬̬нռ뱸ÿռбС + */ +Status DestroyList(SLinkList space, int* S); + +/* + * ÿ() + * + * Ҫͷž̬зͷ㴦Ŀռ䡣 + */ +Status ClearList(SLinkList space, int S); + +/* + * п + * + * жϾ̬ǷЧݡ + * + * ֵ + * TRUE : ̬Ϊ + * FALSE: ̬Ϊ + */ +Status ListEmpty(SLinkList space, int S); + +/* + * + * + * ؾ̬ЧԪص + */ +int ListLength(SLinkList space, int S); + +/* + * ȡֵ + * + * ȡ̬еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e); + +/* + * 㷨2.13 + * + * + * + * ؾ̬׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * 1.ԪeCompareڶβ + * 2.ʵ̲ϵ㷨2.13ͬԭμġע⡱Ϣ + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e); + +/* + * + * + * ̬iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e); + +/* + * ɾ + * + * ɾ̬iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e); + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/Dev-C++/CourseBook/0207_Difference/Difference-main.cpp b/Dev-C++/CourseBook/0207_Difference/Difference-main.cpp new file mode 100644 index 0000000..f4a0208 --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/Difference-main.cpp @@ -0,0 +1,19 @@ +#include +#include "Difference.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // ÿռ + int S; // ̬ + + printf("S = (A-B)(B-A) = "); + difference("TestData.txt", space, &S); + ListTraverse(space, S, PrintElem); + + return 0; +} diff --git a/Dev-C++/CourseBook/0207_Difference/Difference.cpp b/Dev-C++/CourseBook/0207_Difference/Difference.cpp new file mode 100644 index 0000000..3327485 --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/Difference.cpp @@ -0,0 +1,95 @@ +/*=============== + * ̬ȥ + * + * 㷨: 2.17 + ================*/ + +#include "Difference.h" + +/* + * 㷨2.17 + * + * S = (A-B)(B-A) + * + * ԼAͼB(A-B)(B-A)㣬뾲̬S + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +void difference(char path[], SLinkList space, int* S) { + FILE* fp; + int m, n; // AͼBԪ + int j; // ѭ + int R; // ָ̬һ + int i, k, p; + int b; // ʱ洢ӼBж + + // ʼÿռ + InitSpace(space); + + // ȡ̬ͷ + *S = Malloc(space); + + // Rִо̬Ľ + R = *S; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // ȡAͼBԪظ + ReadData(fp, "%d%d", &m, &n); + + // ¼뼯A + for(j = 1; j <= m; ++j) { + // + i = Malloc(space); + + // 뼯AԪֵ + ReadData(fp, "%d", &space[i].data); + + // ½뵽β + space[R].cur = i; + R = i; + } + + // βָÿ + space[R].cur = 0; + + // ¼뼯B + for(j = 1; j <= n; ++j) { + // 뼯BԪֵ + ReadData(fp, "%d", &b); + + p = *S; // ָ̬ͷ㣬ָkǰһλ + k = space[*S].cur; // ָ̬е׸Ԫ + + // ڵǰ̬вǷbԪ + while(k != space[R].cur && space[k].data != b) { + p = k; + k = space[k].cur; + } + + // Ԫزڣ뾲̬ + if(k == space[R].cur) { + i = Malloc(space); + space[i].data = b; + space[i].cur = space[R].cur; + space[R].cur = i; + + // ԪѴڣҪƳ + } else { + space[p].cur = space[k].cur; + Free(space, k); + if(R == k) { + R = p; + } + } + } + + fclose(fp); +} \ No newline at end of file diff --git a/Dev-C++/CourseBook/0207_Difference/Difference.dev b/Dev-C++/CourseBook/0207_Difference/Difference.dev new file mode 100644 index 0000000..6d16bee --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/Difference.dev @@ -0,0 +1,111 @@ +[Project] +FileName=Difference.dev +Name=Difference +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=6 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit3] +FileName=Difference-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=Difference.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=SLinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=Difference.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=SLinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=TestData.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0207_Difference/Difference.h b/Dev-C++/CourseBook/0207_Difference/Difference.h new file mode 100644 index 0000000..b7d9164 --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/Difference.h @@ -0,0 +1,28 @@ +/*=============== + * ̬ȥ + * + * 㷨: 2.17 + ================*/ + +#ifndef DIFFERENCE_H +#define DIFFERENCE_H + +#include +#include "Status.h" //**01 **// +#include "SLinkList.h" //**02 Ա**// + +/* + * 㷨2.17 + * + * S = (A-B)(B-A) + * + * ԼAͼB(A-B)(B-A)㣬뾲̬S + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +void difference(char path[], SLinkList space, int* S); + +#endif diff --git a/Dev-C++/CourseBook/0207_Difference/SLinkList.cpp b/Dev-C++/CourseBook/0207_Difference/SLinkList.cpp new file mode 100644 index 0000000..624e0ea --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/SLinkList.cpp @@ -0,0 +1,116 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 뵽Ŀռӱÿռɾȥ + space[0].cur = space[i].cur; + } + + // ± + return i; +} + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/* ̬ */ + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // ȷ + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== ÿռ ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== ̬ ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} diff --git a/Dev-C++/CourseBook/0207_Difference/SLinkList.h b/Dev-C++/CourseBook/0207_Difference/SLinkList.h new file mode 100644 index 0000000..d92bdf6 --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/SLinkList.h @@ -0,0 +1,89 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define MAXSIZE 1000 // ÿռھ̬󳤶 + +/* ̬ԪͶ */ +typedef int ElemType; + +/* + * ̬ṹ + * + * ע̬һ飬ռÿռͿпռ + */ +typedef struct SLinkLNode { + ElemType data; + int cur; // curαָ꣬ãһ㣨±꣩ +} SLinkList[MAXSIZE]; // ռ + + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space); + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space); + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k); + + +/* ̬ */ + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/Dev-C++/CourseBook/0207_Difference/TestData.txt b/Dev-C++/CourseBook/0207_Difference/TestData.txt new file mode 100644 index 0000000..93de27f --- /dev/null +++ b/Dev-C++/CourseBook/0207_Difference/TestData.txt @@ -0,0 +1,4 @@ +Aijȣ3 +Bijȣ5 +AԪأ2 3 4 +BԪأ1 3 4 6 7 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList-main.cpp b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList-main.cpp new file mode 100644 index 0000000..90cbb4f --- /dev/null +++ b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList-main.cpp @@ -0,0 +1,149 @@ +#include +#include "Status.h" +#include "DuLinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + DuLinkList L; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ˫ѭ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + } + PressEnterToContinue(); + + return 0; +} diff --git a/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.cpp b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.cpp new file mode 100644 index 0000000..b8ff6b8 --- /dev/null +++ b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.cpp @@ -0,0 +1,402 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#include "DuLinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // ǰͺָ̾ + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * (ṹ) + * + * ͷ˫ѭռڴ档 + */ +Status DestroyList(DuLinkList* L) { + // ȷṹ + if(L == NULL || *L == NULL) { + return ERROR; + } + + ClearList(*L); + + free(*L); + + *L = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷ˫ѭзͷ㴦Ŀռ䡣 + */ +Status ClearList(DuLinkList L) { + DuLinkList p, q; + + if(L == NULL) { + return ERROR; + } + + p = L->next; + + while(p != L) { + q = p->next; + free(p); + p = q; + } + + L->next = L->prior = L; + + return OK; +} + +/* + * п + * + * ж˫ѭǷЧݡ + * + * ֵ + * TRUE : ˫ѭΪ + * FALSE: ˫ѭΪ + */ +Status ListEmpty(DuLinkList L) { + if(L != NULL && L->next == L && L->prior == L) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ˫ѭЧԪص + */ +int ListLength(DuLinkList L) { + DuLinkList p; + int i; + + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != L) { + i++; + p = p->next; + } + + return i; +} + +/* + * ȡֵ + * + * ȡ˫ѭеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + int j; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪL + while(p->next != L && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == L || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * + * + * ˫ѭ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != L && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != L) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ָ1Ԫ + p = L->next; + + // 1Ԫûǰ + if(p->data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + p = p->next; + + // ӵ2Ԫؿʼcur_eλ + while(p != L && p->data != cur_e) { + p = p->next; + } + + // ûҵԪcur_eʧܣERROR + if(p == L) { + return ERROR; + } + + *pre_e = p->prior->data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ָ1Ԫ + p = L->next; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̲ΪL + while(p->next != L && p->data != cur_e) { + p = p->next; + } + + // ûҵcur_eҵˣûк̣ERROR + if(p->next == L) { + return ERROR; + } + + *next_e = p->next->data; + + return OK; +} + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // ½ + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // s뵽pǰ棬Ϊi + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * 㷨2.19 + * + * ɾ + * + * ɾ˫ѭiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // p==L˵ɾԪǵlen+1ԪأϹ + if(p == L) { + return ERROR; + } + + *e = p->data; + + // Ƴp + p->prior->next = p->next; + p->next->prior = p->prior; + + free(p); + + return OK; +} + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return NULL; + } + + // λòϹ + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // ԲҵiԪ + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // ǡҵiԪ + if(count == i) { + return p; + } + + // ˣ˵p->next==LʱҪжiǷ + if(count + 1 < i) { + return NULL; + } + + // ˣ˵Ҫlen+1λϲԪ + return L; +} diff --git a/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.dev b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.dev new file mode 100644 index 0000000..d065633 --- /dev/null +++ b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.dev @@ -0,0 +1,82 @@ +[Project] +FileName=DuLinkList.dev +Name=DuLinkList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit3] +FileName=DuLinkList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=DuLinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=DuLinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.h b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.h new file mode 100644 index 0000000..0f8810d --- /dev/null +++ b/Dev-C++/CourseBook/0208_DuLinkList/DuLinkList.h @@ -0,0 +1,153 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // +} DuLNode; + +// ָ˫ѭָ +typedef DuLNode* DuLinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L); + +/* + * (ṹ) + * + * ͷ˫ѭռڴ档 + */ +Status DestroyList(DuLinkList* L); + +/* + * ÿ() + * + * Ҫͷ˫ѭзͷ㴦Ŀռ䡣 + */ +Status ClearList(DuLinkList L); + +/* + * п + * + * ж˫ѭǷЧݡ + * + * ֵ + * TRUE : ˫ѭΪ + * FALSE: ˫ѭΪ + */ +Status ListEmpty(DuLinkList L); + +/* + * + * + * ˫ѭЧԪص + */ +int ListLength(DuLinkList L); + +/* + * ȡֵ + * + * ȡ˫ѭеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(DuLinkList L, int i, ElemType* e); + +/* + * + * + * ˫ѭ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * 㷨2.19 + * + * ɾ + * + * ɾ˫ѭiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(DuLinkList L, int i, ElemType* e); + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/Dev-C++/CourseBook/0209_ELinkList/ELinkList-main.cpp b/Dev-C++/CourseBook/0209_ELinkList/ELinkList-main.cpp new file mode 100644 index 0000000..7d37082 --- /dev/null +++ b/Dev-C++/CourseBook/0209_ELinkList/ELinkList-main.cpp @@ -0,0 +1,224 @@ +#include +#include "ELinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ELinkList L; + Link p, q, s; + Position r; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼչ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + r = LocateElem(L, 7, CmpGreater); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", r->data); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + Position pre = PriorPos(L, r); + + if(pre !=NULL) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", r->data, pre->data); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", r->data); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + Position next = NextPos(L, r); + + if(next !=NULL) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", r->data, next->data); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", r->data); + } + } + PressEnterToContinue(); + + + printf(" MakeNode \n"); + { + printf(" \"100\" ...\n"); + MakeNode(&p, 100); + printf(" \"200\" ...\n"); + MakeNode(&q, 200); + printf(" \"300\" ...\n"); + MakeNode(&s, 300); + } + PressEnterToContinue(); + + + printf(" InsFirst \n"); + { + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮...\n", s->data, r->data); + InsFirst(&L, r, s); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" DelFirst \n"); + { + printf(" ɾԪ \"%d\" ֮Ԫ...\n", r->data); + DelFirst(&L, r, &s); + printf(" ɾԪΪ\"%d\"\n", s->data); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" InsBefore \n"); + { + Link t = r; + + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮ǰ...\n", p->data, t->data); + InsBefore(&L, &t, p); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" InsAfter \n"); + { + Link t = r; + + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮...\n", q->data, t->data); + InsAfter(&L, &t, q); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" Append \n"); + { + printf(" \"400\" ...\n"); + MakeNode(&s, 400); + + printf(" Ԫ %d 뵽...\n", s->data); + Append(&L, s); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" Remove \n"); + { + printf(" ɾԪ...\n"); + Remove(&L, &s); + printf(" ɾԪΪ\"%d\"\n", s->data); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(&L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L.head != NULL && L.tail != NULL ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L.head != NULL && L.tail != NULL ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + } + PressEnterToContinue(); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0209_ELinkList/ELinkList.cpp b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.cpp new file mode 100644 index 0000000..c77bc91 --- /dev/null +++ b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.cpp @@ -0,0 +1,630 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L) { + + // ʱûҪ + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // ûЧԪʱҪ + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // ָ1Ԫ + p = (*L).head->next; + + // ͷԪռڴ + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(ELinkList L) { + if(L.len <= 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * + * + * ׸eCompareϵԪá + * Ԫأ򷵻NULL + * + *ע + * 1.ԪeCompareڶβ + * 2.ķֵĿԪصãλ + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + Position p; + + if(L.len <= 0) { + return NULL; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL && !Compare(p->data, e)) { + p = p->next; + } + + return p; +} + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ½s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // s뵽h棬Ϊhĵһ + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.10ĸд + */ +Status ListDelete(ELinkList* L, int i, ElemType* e) { + Link h, q; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len] + if(i < 1 || i > (*L).len) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ɾhĵһ㣬q洢ɾ + if(DelFirst(L, h, &q) == ERROR) { + return ERROR; + } + + // ±ɾԪصֵ + *e = q->data; + + // ͷűɾĿռ + FreeNode(&q); + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * β + * + * ȡβá + */ +Position GetLast(ELinkList L) { + return L.tail; +} + +/* + * ǰ + * + * ȡpǰڣ򷵻NULL + */ +Position PriorPos(ELinkList L, Link p) { + Link pre; + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + // ָͷ + pre = L.head; + + // һǰ + if(pre->next == p) { + return NULL; + } + + // Pǰ + while(pre != NULL && pre->next != p) { + pre = pre->next; + } + + return pre; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // עiΪ0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // ֤(ͷ) + if(L.head == NULL) { + return ERROR; + } + + // iΪ0ʱȡͷ + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // + r = L.head; // ָͷ + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * ǰ + * + * s뵽p֮ǰpָ½ + */ +Status InsBefore(ELinkList* L, Link* p, Link s) { + Link pre; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + // ָͷ + pre = (*L).head; + + // pĹǰڵһԪأǰΪͷ + while(pre != NULL && pre->next != (*p)) { + pre = pre->next; + } + + // ûҵǰ + if(pre == NULL) { + return ERROR; + } + + s->next = *p; + pre->next = s; + *p = s; + + (*L).len++; //޸lenõ*L + + return OK; +} + +/* + * + * + * s뵽p֮ǰpָ½ + */ +Status InsAfter(ELinkList* L, Link* p, Link s) { + Link r; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + r = (*L).head; + + while(r != NULL && r != (*p)) { + r = r->next; + } + + // δҵpشϢ + if(r == NULL) { + return ERROR; + } + + // pָһ㣬Ҫβָ + if(*p == (*L).tail) { + (*L).tail = s; + } + + s->next = (*p)->next; + (*p)->next = s; + *p = s; + + (*L).len++; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} + +/* + * βƳ + * + * βƳƳĽô洢q + */ +Status Remove(ELinkList* L, Link* q) { + Link p; + + if(L == NULL || (*L).head == NULL || q == NULL) { + return ERROR; + } + + // ûԪؿɹƳ + if((*L).len == 0) { + *q = NULL; + return ERROR; + } + + *q = (*L).tail; + + // ȷµβλ + p = (*L).head; + while(p->next != (*L).tail) { + p = p->next; + } + p->next = NULL; + (*L).tail = p; + + (*L).len--; + + return OK; +} diff --git a/Dev-C++/CourseBook/0209_ELinkList/ELinkList.dev b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.dev new file mode 100644 index 0000000..c72b172 --- /dev/null +++ b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.dev @@ -0,0 +1,82 @@ +[Project] +FileName=ELinkList.dev +Name=ELinkList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit3] +FileName=ELinkList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=ELinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=ELinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0209_ELinkList/ELinkList.h b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.h new file mode 100644 index 0000000..e988542 --- /dev/null +++ b/Dev-C++/CourseBook/0209_ELinkList/ELinkList.h @@ -0,0 +1,253 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L); + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(ELinkList L); + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L); + +/* + * + * + * ׸eCompareϵԪá + * Ԫأ򷵻NULL + * + *ע + * 1.ԪeCompareڶβ + * 2.ķֵĿԪصãλ + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.10ĸд + */ +Status ListDelete(ELinkList* L, int i, ElemType* e); + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * β + * + * ȡβá + */ +Position GetLast(ELinkList L); + +/* + * ǰ + * + * ȡpǰڣ򷵻NULL + */ +Position PriorPos(ELinkList L, Link p); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * ǰ + * + * s뵽p֮ǰpָ½ + */ +Status InsBefore(ELinkList* L, Link* p, Link s); + +/* + * + * + * s뵽p֮ǰpָ½ + */ +Status InsAfter(ELinkList* L, Link* p, Link s); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +/* + * βƳ + * + * βƳƳĽô洢q + */ +Status Remove(ELinkList* L, Link* q); + +#endif diff --git a/Dev-C++/CourseBook/0210_MergeEList/ELinkList.cpp b/Dev-C++/CourseBook/0210_MergeEList/ELinkList.cpp new file mode 100644 index 0000000..fe46f87 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/ELinkList.cpp @@ -0,0 +1,324 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ½s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // s뵽h棬Ϊhĵһ + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // עiΪ0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // ֤(ͷ) + if(L.head == NULL) { + return ERROR; + } + + // iΪ0ʱȡͷ + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // + r = L.head; // ָͷ + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ォɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/Dev-C++/CourseBook/0210_MergeEList/ELinkList.h b/Dev-C++/CourseBook/0210_MergeEList/ELinkList.h new file mode 100644 index 0000000..1bfb4e6 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/ELinkList.h @@ -0,0 +1,155 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/Dev-C++/CourseBook/0210_MergeEList/MergeEList-main.cpp b/Dev-C++/CourseBook/0210_MergeEList/MergeEList-main.cpp new file mode 100644 index 0000000..b5fbcd5 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/MergeEList-main.cpp @@ -0,0 +1,71 @@ +#include +#include "MergeEList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + +/* + * Ƚ + * + * Ƚe1e2ĴСֵ£ + * < 0e1 < e2 + * = 0e1 = e2 + * > 0e1 > e2 + */ +int Cmp(ElemType e1, ElemType e2) { + return e1 - e2; +} + +/* + * β巨 + * + *ע + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļfpжȡݡ + */ +void CreateList_Tail(char path[], ELinkList* L) { + FILE* fp; + int i, n; + ElemType e; + + fp = fopen(path, "r"); + if(fp == NULL) { + printf("ļʧ...\n"); + exit(ERROR); + } + + // ȡָԪص + ReadData(fp, "%d", &n); + + InitList(L); + + for(i = 1; i <= n; i++) { + ReadData(fp, "%d", &e); + ListInsert(L, i, e); + } + + fclose(fp); +} + + +int main(int argc, char** argv) { + ELinkList La, Lb, Lc; + + printf("LaLbԴ...\n"); + + CreateList_Tail("TestData_La.txt", &La); + printf("La= "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Lb.txt", &Lb); + printf("Lb= "); + ListTraverse(Lb, PrintElem); + + MergeEList(&La, &Lb, &Lc, Cmp); + printf("ϲLaLbΪ Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} diff --git a/Dev-C++/CourseBook/0210_MergeEList/MergeEList.cpp b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.cpp new file mode 100644 index 0000000..e445d32 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.cpp @@ -0,0 +1,75 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.21 + ================*/ + +#include "MergeEList.h" + +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)){ + Link ha, hb, pa, pb, q; + ElemType a, b; + + if(InitList(Lc) == ERROR) { + return ERROR; + } + + ha = GetHead(*La); // ָLaͷ + hb = GetHead(*Lb); // ָLbͷ + + // ֤LaLbЧпǿձ + if(ha == NULL || hb ==NULL) { + return ERROR; + } + + pa = NextPos(*La, ha); // ָLa1Ԫ + pb = NextPos(*La, hb); // ָLb1Ԫ + + // LaLbѡСԪأμ뵽Lc + while(pa !=NULL && pb!=NULL){ + a = GetCurElem(pa); + b = GetCurElem(pb); + + // La<=Lb + if(Compare(a, b)<=0) { + // ժLa׸Ԫ + DelFirst(La, ha, &q); + + // ժµԪ׷ӵLc + Append(Lc, q); + + // ȻǻȡLaе1Ԫ + pa = NextPos(*La, ha); + } else { + // ժLb׸Ԫ + DelFirst(Lb, hb, &q); + + // ժµԪ׷ӵLc + Append(Lc, q); + + // ȻǻȡLaе1Ԫ + pb = NextPos(*Lb, hb); + } + } + + // Laʣ + if(pa!=NULL) { + Append(Lc, pa); + } else { + Append(Lc, pb); + } + + // ͷLaͷ㡣̲Ƕha޷ÿLaͷָ룬޸ + FreeNode(&(La->head)); + + // ͷLbͷ㡣̲Ƕhb޷ÿLbͷָ룬޸ + FreeNode(&(Lb->head)); + + La->tail = NULL; + Lb->tail = NULL; + + La->len = 0; + Lb->len = 0; + + return OK; +} \ No newline at end of file diff --git a/Dev-C++/CourseBook/0210_MergeEList/MergeEList.dev b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.dev new file mode 100644 index 0000000..08e0308 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.dev @@ -0,0 +1,120 @@ +[Project] +FileName=MergeEList.dev +Name=MergeEList +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=7 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=ELinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=MergeEList-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=MergeEList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=ELinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=MergeEList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=TestData_La.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=TestData_Lb.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0210_MergeEList/MergeEList.h b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.h new file mode 100644 index 0000000..5137f17 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/MergeEList.h @@ -0,0 +1,36 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.21 + ================*/ + +#ifndef MERGEELIST_H +#define MERGEELIST_H + +#include +#include "Status.h" //**01 **// +#include "ELinkList.h" //**02 Ա**// + +/* + * ע + * + * Ϊ֮ǰĹ鲢㷨֣ォ㷨ΪMergeEList(̲еMergeList_L) + */ + +/* + * 㷨2.21 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * 鲢󣬻LaLb + */ +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)); + +/* +(01)㷨2.21LaLbǵݼУ鲢ΪһǵݼеĵLc +*/ + + + +#endif diff --git a/Dev-C++/CourseBook/0210_MergeEList/TestData_La.txt b/Dev-C++/CourseBook/0210_MergeEList/TestData_La.txt new file mode 100644 index 0000000..dc09018 --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/TestData_La.txt @@ -0,0 +1,2 @@ +Aijȣ6 +La = 1 2 3 5 7 8 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0210_MergeEList/TestData_Lb.txt b/Dev-C++/CourseBook/0210_MergeEList/TestData_Lb.txt new file mode 100644 index 0000000..df78f0a --- /dev/null +++ b/Dev-C++/CourseBook/0210_MergeEList/TestData_Lb.txt @@ -0,0 +1,2 @@ +Bijȣ7 +Lb = 2 4 5 8 10 11 13 \ No newline at end of file diff --git a/Dev-C++/CourseBook/0211_Polynomial/ELinkList.cpp b/Dev-C++/CourseBook/0211_Polynomial/ELinkList.cpp new file mode 100644 index 0000000..65ecb40 --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/ELinkList.cpp @@ -0,0 +1,338 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L) { + + // ʱûҪ + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // ûЧԪʱҪ + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // ָ1Ԫ + p = (*L).head->next; + + // ͷԪռڴ + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * + * + * Һ봫ͳİ汾һ + * ȻԪeCompare()==0Ԫأҵʹq洢ãTrue + * ã׸ԪeCompare()>0ԪصǰFALSE + * еԪؾeq洢ͷá + * еԪؾСeq洢βá + * £Ὣqÿա + * + *ע + * 1.ԪeCompareڶβ + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)) { + Position pre, p; + + *q = NULL; + + // ڣشϢ + if(L.head == NULL) { + return FALSE; + } + + pre = L.head; + p = pre->next; + + while(p != NULL && Compare(p->data, e) < 0) { + pre = p; + p = p->next; + } + + // ҵe""Ԫ + if(p != NULL && Compare(p->data, e) == 0) { + *q = p; + return TRUE; + } + + // ԪؾСepԪشeֻΪձ + *q = pre; + + return FALSE; +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + ElemType e; + + if(p == NULL) { + e.coef = 0.0f; + e.expn = -1; + return e; + } + + return p->data; +} + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/Dev-C++/CourseBook/0211_Polynomial/ELinkList.h b/Dev-C++/CourseBook/0211_Polynomial/ELinkList.h new file mode 100644 index 0000000..44da806 --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/ELinkList.h @@ -0,0 +1,175 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* + * ԪͶ + * ڶʽУõ˽ṹ͵Ԫ + */ +typedef struct { + float coef; // ʽϵ + int expn; // ʽָ +} ElemType; // ¶չԱԪ + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L); + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L); + +/* + * + * + * Һ봫ͳİ汾һ + * ȻԪeCompare()==0Ԫأҵʹq洢ãTrue + * ã׸ԪeCompare()>0ԪصǰFALSE + * еԪؾeq洢ͷá + * еԪؾСeq洢βá + * £Ὣqÿա + * + *ע + * 1.ԪeCompareڶβ + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/Dev-C++/CourseBook/0211_Polynomial/Polynomial-main.cpp b/Dev-C++/CourseBook/0211_Polynomial/Polynomial-main.cpp new file mode 100644 index 0000000..ab64e6e --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/Polynomial-main.cpp @@ -0,0 +1,79 @@ +#include "Polynomial.h" //**02 Ա**// + +int main(int argc, char **argv) { + Polynomial Pa, Pb; + int m, n; + + m = 5; + n = 6; + + printf(" CreatPolyn \n"); + { + printf(" ΪʾΪ %d ĶʽPa...\n", m); + CreatPolyn("TestData_Pa.txt", &Pa, m); + + printf(" ΪʾΪ %d ĶʽPb...\n", n); + CreatPolyn("TestData_Pb.txt", &Pb, n); + } + PressEnterToContinue(); + + + printf(" PrintPolyn \n"); + { + printf(" һԪʽ Pa = "); + PrintPolyn(Pa); + + printf(" һԪʽ Pb = "); + PrintPolyn(Pb); + } + PressEnterToContinue(); + + + printf(" PolynLength \n"); + { + printf(" La Ϊ %d Lb Ϊ %d\n", PolynLength(Pa), PolynLength(Pb)); + } + PressEnterToContinue(); + + + printf(" AddPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + AddPolyn(&Pa, &Pb); + + printf(" Pa = Pa + Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf(" SubtractPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + SubtractPolyn(&Pa, &Pb); + + printf(" Pa = Pa - Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf(" MultiplyPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + MultiplyPolyn(&Pa, &Pb); + + printf(" Pa = Pa * Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/Dev-C++/CourseBook/0211_Polynomial/Polynomial.cpp b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.cpp new file mode 100644 index 0000000..b575b3f --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.cpp @@ -0,0 +1,397 @@ +/*======================== + * һԪʽ() + * + * 㷨: 2.222.23 + =========================*/ + +#include "Polynomial.h" + + +/* һԪʽ */ + +/* + * 㷨2.22 + * + * + * + * ϵָΪmһԪʽ + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +void CreatPolyn(char path[], Polynomial* P, int m) { + FILE* fp; + int i; + ElemType e; + Position h, q; + Link s; + + // ʼһһԪʽ + InitList(P); + + // ȡʽͷָ + h = GetHead(*P); + + // Ϊͷ + e.coef = 0.0f; + e.expn = -1; + SetCurElem(h, e); + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // ¼mЧ + for(i = 1; i <= m; i++) { + // ȡϵָϢʱe + ReadData(fp, "%f%d", &(e.coef), &(e.expn)); + + // ǰвڸָ + if(LocateElem(*P, e, &q, Cmp) == FALSE && q != NULL) { + // ½ + if(MakeNode(&s, e) == OK) { + // q֮s + InsFirst(P, q, s); + } + } + } + + fclose(fp); +} + +/* + * + * + * һԪʽ + */ +void DestroyPolyn(Polynomial* P) { + DestroyList(P); +} + +/* + * + * + * һԪʽ + */ +int PolynLength(Polynomial P) { + return ListLength(P); +} + +/* + * 㷨2.23 + * + * ӷ + * + * һԪʽӷPa=Pa+Pb + * ɺ󣬼浽PaУPb١ + */ +void AddPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + ElemType a, b; + float sum; + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qaqbֱָPaPbĵǰ + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qaqbǿ + while(qa && qb) { + // abΪеǰȽԪ + a = GetCurElem(qa); + b = GetCurElem(qb); + + //ȽϵǰԪصָС + switch(Cmp(a, b)) { + // ʽPaеǰֵָС + case -1: { + ha = qa; + qa = NextPos(*Pa, qa); + } + break; + + // ֵ + case 0: { + sum = a.coef + b.coef; + + // ӲܵʱPaϵֵ + if(sum != 0.0) { + // SetCurElem()ʣֱӸֵ + qa->data.coef = sum; + // ha + ha = qa; + + //ӵʱɾPaеǰ + } else { + // ɾhaĽ㣨ʵɾľqa + DelFirst(Pa, ha, &qa); + // ͷűɾռռ + FreeNode(&qa); + } + + // ɾPbɨĽ + DelFirst(Pb, hb, &qb); + // ͷűɾռռ + FreeNode(&qb); + + // qaqb + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // ʽPbеǰֵָС + case 1: { + // ժPbǰ + DelFirst(Pb, hb, &qb); + + // ժ½Pa + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // Pbδɨ꣬ʣӵPa + if(qb != NULL) { + Append(Pa, qb); + } + + // ͷPbͷ + FreeNode(&hb); + + // PbΪ״̬ + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * + * + * һԪʽPa=Pa-Pb + * ɺ󣬼浽PaУPb١ + */ +void SubtractPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + Position r; + ElemType a, b; + float sum; + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qaqbֱָPaPbĵǰ + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qaqbǿ + while(qa && qb) { + // abΪеǰȽԪ + a = GetCurElem(qa); + b = GetCurElem(qb); + + // ȽϵǰԪصָС + switch(Cmp(a, b)) { + // ʽPaеǰֵָС + case -1: { + ha = qa; + qa = NextPos(*Pa, ha); + } + break; + + // ֵ + case 0: { + sum = a.coef - b.coef; + + // ܵʱPaϵֵ + if(sum != 0.0) { + // ϵ + qa->data.coef = sum; + // ha + ha = qa; + + // ʱɾPaеǰ + } else { + // ɾhaĽ㣨ʵɾľqa + DelFirst(Pa, ha, &qa); + // ͷűɾռռ + FreeNode(&qa); + } + + // ɾPbɨĽ + DelFirst(Pb, hb, &qb); + // ͷűɾռռ + FreeNode(&qb); + + // qaqb + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // ʽPbеǰֵָС + case 1: { + // ժPbǰ + DelFirst(Pb, hb, &qb); + + // ı䵱ǰ + qb->data.coef = -qb->data.coef; + + // ժ½Pa + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // Pbδɨ꣬ʣϵȡӵPa + if(qb != NULL) { + // ıʣķ + for(r = qb = 0; r != NULL; r = r->next) { + r->data.coef = -r->data.coef; + } + + Append(Pa, qb); + } + + // ͷPbͷ + FreeNode(&hb); + + // PbΪ״̬ + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * ˷ + * + * һԪʽ˷Pa=Pa*Pb + * ɺ󣬼浽PaУPb١ + */ +void MultiplyPolyn(Polynomial* Pa, Polynomial* Pb) { + Polynomial Pc, Ptmp; + int i, j, la, lb; + Position ha, hb; + Position qa, qb; + Link s; + ElemType e; + + // ȡʽij + la = PolynLength(*Pa); + lb = PolynLength(*Pb); + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // ۼӼ + InitList(&Pc); + + // PaеԪ + for(i = 1; i <= la; i++) { + // 洢ʱ + InitList(&Ptmp); + + // ժPaеĽ + DelFirst(Pa, ha, &qa); + + // Pbн㣬PaժµĽ + for(j = 1, qb = NextPos(*Pb, hb); j <= lb; j++, qb = NextPos(*Pb, qb)) { + e.coef = qa->data.coef * qb->data.coef; //ϵ + e.expn = qa->data.expn + qb->data.expn; //ָ + + // ½洢 + MakeNode(&s, e); + + // ӵʱʽ + Append(&Ptmp, s); + } + + // µĶʽۼӵPc + AddPolyn(&Pc, &Ptmp); + } + + // нӵPa + AddPolyn(Pa, &Pc); + + // ٶʽPb + DestroyPolyn(Pb); +} + + +/* */ + +/* + * + * + * ӡһԪʽ + */ +void PrintPolyn(Polynomial P) { + int i; + Link p; + + p = P.head->next; + for(i = 1; i <= P.len; i++) { + if(p->data.coef == 0.0f) { + continue; + } + + if(i == 1) { + printf("%g", p->data.coef); + } else { + if(p->data.coef > 0) { + printf(" + "); + printf("%g", p->data.coef); + } else { + printf(" - "); + printf("%g", -p->data.coef); + } + } + + if(p->data.expn) { + printf("x"); + + if(p->data.expn != 1) { + printf("^%d", p->data.expn); + } + } + + p = p->next; + } + + printf("\n"); +} + +/* + * Ƚ + * + * Ƚc1c2ָС + */ +int Cmp(ElemType c1, ElemType c2) { + // ָ + int i = c1.expn - c2.expn; + + if(i < 0) { + return -1; + } else if(i == 0) { + return 0; + } else { + return 1; + } +} diff --git a/Dev-C++/CourseBook/0211_Polynomial/Polynomial.dev b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.dev new file mode 100644 index 0000000..03c66c5 --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.dev @@ -0,0 +1,120 @@ +[Project] +FileName=Polynomial.dev +Name=Polynomial +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=7 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=ELinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit5] +FileName=Polynomial-main.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=ELinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=Polynomial.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit4] +FileName=Polynomial.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit6] +FileName=TestData_Pa.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit7] +FileName=TestData_Pb.txt +Folder= +Compile=0 +Link=0 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/CourseBook/0211_Polynomial/Polynomial.h b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.h new file mode 100644 index 0000000..8a6204a --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/Polynomial.h @@ -0,0 +1,91 @@ +/*======================== + * һԪʽ() + * + * 㷨: 2.222.23 + =========================*/ + +#ifndef POLYNOMIAL_H +#define POLYNOMIAL_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "ELinkList.h" //**02 Ա**// + +/* һԪʽͶ */ +typedef ELinkList Polynomial; + + +/* һԪʽ */ + +/* + * 㷨2.22 + * + * + * + * ϵָΪmһԪʽ + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +void CreatPolyn(char path[], Polynomial *P, int m); + +/* + * + * + * һԪʽ + */ +void DestroyPolyn(Polynomial *P); + +/* + * + * + * һԪʽ + */ +int PolynLength(Polynomial P); + +/* + * 㷨2.23 + * + * ӷ + * + * һԪʽӷPa=Pa+Pb + * ɺ󣬼浽PaУPb١ + */ +void AddPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * + * + * һԪʽPa=Pa-Pb + * ɺ󣬼浽PaУPb١ + */ +void SubtractPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * ˷ + * + * һԪʽ˷Pa=Pa*Pb + * ɺ󣬼浽PaУPb١ + */ +void MultiplyPolyn(Polynomial *Pa, Polynomial *Pb); + + +/* */ + +/* + * + * + * ӡһԪʽ + */ +void PrintPolyn(Polynomial P); + +/* + * Ƚ + * + * Ƚc1c2ָС + */ +int Cmp(ElemType c1, ElemType c2); + +#endif diff --git a/Dev-C++/CourseBook/0211_Polynomial/TestData_Pa.txt b/Dev-C++/CourseBook/0211_Polynomial/TestData_Pa.txt new file mode 100644 index 0000000..e72f216 --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/TestData_Pa.txt @@ -0,0 +1 @@ +Pa = (2.1 , 1) (5.3 , 7) (4.0 , 3) (2.5 , 9) (-3.12 , 5) \ No newline at end of file diff --git a/Dev-C++/CourseBook/0211_Polynomial/TestData_Pb.txt b/Dev-C++/CourseBook/0211_Polynomial/TestData_Pb.txt new file mode 100644 index 0000000..2940e87 --- /dev/null +++ b/Dev-C++/CourseBook/0211_Polynomial/TestData_Pb.txt @@ -0,0 +1 @@ +Pb = (0.5 , 12) (-3.17 , 4) (3.4 , 2) (-2.5 , 9) (4.1 , 5) (1.8 , 8) \ No newline at end of file diff --git a/Dev-C++/ExerciseBook/01.16/01.16.cpp b/Dev-C++/ExerciseBook/01.16/01.16.cpp new file mode 100644 index 0000000..e47616f --- /dev/null +++ b/Dev-C++/ExerciseBook/01.16/01.16.cpp @@ -0,0 +1,53 @@ +#include + +/* + * 1.16 + * + * 3ӴС˳ + */ +void Algo_1_16(int *x, int *y, int *z); + + +int main(int argc, char* argv[]) { + int x, y, z; + + x = 3; + y = 7; + z = 1; + + printf("Ϊʾ趨Ϊ%d %d %d...\n", x, y, z); + + // + Algo_1_16(&x, &y, &z); + + printf("ӴСΪ%d %d %d...\n", x, y, z); + + return 0; +} + + +// 3ӴС˳ +void Algo_1_16(int *x, int *y, int *z) { + int tmp; + + // ȷx>=y + if(*x < *y) { + tmp = *x; + *x = *y; + *y = tmp; + } + + // ȷz>=y + if(*y < *z) { + tmp = *y; + *y = *z; + *z = tmp; + } + + // ȷx>=z + if(*x < *z) { + tmp = *x; + *x = *z; + *z = tmp; + } +} diff --git a/Dev-C++/ExerciseBook/01.16/01.16.dev b/Dev-C++/ExerciseBook/01.16/01.16.dev new file mode 100644 index 0000000..1bad763 --- /dev/null +++ b/Dev-C++/ExerciseBook/01.16/01.16.dev @@ -0,0 +1,62 @@ +[Project] +FileName=01.16.dev +Name=01.16 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=01.16.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/01.17/01.17.cpp b/Dev-C++/ExerciseBook/01.17/01.17.cpp new file mode 100644 index 0000000..0959239 --- /dev/null +++ b/Dev-C++/ExerciseBook/01.17/01.17.cpp @@ -0,0 +1,86 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* + * 1.171ݹ㷨 + * + * k쳲еmֵ + * + * עintͣʱ + */ +int Algo_1_17_1(int k, int m); + +/* + * 1.172()㷨 + * + * k쳲еmֵ + * + * עintͣʱ + */ +int Algo_1_17_2(int k, int m); + + +int main(int argc, char* argv[]) { + int k, m; + + k = 3; + m = 20; + + printf("Ϊʾ %d 쳲е %d ֵΪ%d \n", k, m, Algo_1_17_1(k, m)); + + printf("Ϊʾ %d 쳲е %d ֵΪ%d \n", k, m, Algo_1_17_2(k, m)); + + return 0; +} + + +// k쳲еmֵ +int Algo_1_17_1(int k, int m) { + int i, value; + + if(k < 2 || m < 0) { + exit(OVERFLOW); + } + + if(m < k - 1) { + return 0; + } else if(m == k - 1) { + return 1; + } else { + for(i = 1, value = 0; i <= k; i++) { + value += Algo_1_17_1(k, m - i); + } + + return value; + } +} + +// k쳲еmֵ +int Algo_1_17_2(int k, int m) { + int i, j; + int* fib; + + if(k < 1 || m < 0) { + exit(OVERFLOW); + } + + // fib + fib = (int*) malloc((m + 1) * sizeof(int)); + + // ʼǰk-1Ϊ0 + for(i = 0; i < k - 1 ;i++) { + fib[i] = 0; + } + + fib[k-1] = 1; + + for(i = k; i <= m; ++i) { + // ۼǰk + for(j = i - 1, fib[i] = 0; j >= i - k; j--) { + fib[i] += fib[j]; + } + } + + return fib[m]; +} diff --git a/Dev-C++/ExerciseBook/01.17/01.17.dev b/Dev-C++/ExerciseBook/01.17/01.17.dev new file mode 100644 index 0000000..c13b9dd --- /dev/null +++ b/Dev-C++/ExerciseBook/01.17/01.17.dev @@ -0,0 +1,62 @@ +[Project] +FileName=01.17.dev +Name=01.17 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=01.17.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/01.19/01.19.cpp b/Dev-C++/ExerciseBook/01.19/01.19.cpp new file mode 100644 index 0000000..31d5b91 --- /dev/null +++ b/Dev-C++/ExerciseBook/01.19/01.19.cpp @@ -0,0 +1,55 @@ +#include +#include // ṩINT_MAX +#include "Status.h" //**01 **// + +/* 궨 */ +#define arrsize 20 //鳤 +#define maxint INT_MAX // + +/* + * 1.17 + * + * i!*2^iֵa[i-1]i[1, arrsize] + * + * i!*2^i = (i-1)!*2^(i-1) * i * 2 + */ +Status Algo_1_19(int i, int a[]); + + +int main(int argc, char* argv[]) { + int i, a[arrsize]; + + i = 5; + + printf("i!*2^i...\n"); + + if(Algo_1_19(i, a) == OK) { + printf("Ϊʾ㵱i = %d ʱa[i-1] = %d\n", i, a[i - 1]); + } + + return 0; +} + + +// i!*2^iֵ +Status Algo_1_19(int i, int a[]) { + int j; + + if(i < 1 || i > arrsize) { + return ERROR; + } + + // i==1ʱ + a[0] = 2; + + // i>1ʱ + for(j = 2; j <= i; j++) { + if(maxint / (2 * j) < a[j - 2]) { + return OVERFLOW; + } + + a[j - 1] = a[j - 2] * j * 2; + } + + return OK; +} diff --git a/Dev-C++/ExerciseBook/01.19/01.19.dev b/Dev-C++/ExerciseBook/01.19/01.19.dev new file mode 100644 index 0000000..daeb82a --- /dev/null +++ b/Dev-C++/ExerciseBook/01.19/01.19.dev @@ -0,0 +1,62 @@ +[Project] +FileName=01.19.dev +Name=01.19 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=01.19.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/01.20/01.20.cpp b/Dev-C++/ExerciseBook/01.20/01.20.cpp new file mode 100644 index 0000000..1d1c8b3 --- /dev/null +++ b/Dev-C++/ExerciseBook/01.20/01.20.cpp @@ -0,0 +1,34 @@ +#include +#include //ṩpowԭ + +/* + * 1.20 + * + * ʽPn(Xo)ֵ + */ +double Algo_1_20(int a[], int x, int n); + + +int main(int argc, char* argv[]) { + int a[5] = {-2, 3, 6, -8, 7}; + int n = 5; + int Xo = 3; + + printf("Ϊʾ趨n = 5Xo = 3Pn(Xo)...\n"); + printf("P%d(%d) = %f\n", n, Xo, Algo_1_20(a, Xo, n)); + + return 0; +} + + +// ʽPn(Xo)ֵ +double Algo_1_20(int a[], int x, int n) { + int i; + double tmp; + + for(i = 1, tmp = 0; i <= n; i++) { + tmp += a[i - 1] * pow(x, i - 1); + } + + return tmp; +} \ No newline at end of file diff --git a/Dev-C++/ExerciseBook/01.20/01.20.dev b/Dev-C++/ExerciseBook/01.20/01.20.dev new file mode 100644 index 0000000..b8ea5b6 --- /dev/null +++ b/Dev-C++/ExerciseBook/01.20/01.20.dev @@ -0,0 +1,62 @@ +[Project] +FileName=01.20.dev +Name=01.20 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=01.20.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.10/02.10.cpp b/Dev-C++/ExerciseBook/02.10/02.10.cpp new file mode 100644 index 0000000..76b985f --- /dev/null +++ b/Dev-C++/ExerciseBook/02.10/02.10.cpp @@ -0,0 +1,68 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.10 + * + * ɾ˳дӵiԪkԪ + * ikֵϹ棬˳б仯 + */ +Status Algo_2_10(SqList* a, int i, int k); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 15; i++) { + ListInsert(&L, i, i); + } + + printf("ɾǰL = "); + ListTraverse(L, PrintElem); + + printf("ɾ 6 Ԫ 5 Ԫ...\n"); + Algo_2_10(&L, 6, 5); + + printf("ɾL = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ɾ˳дӵiԪkԪ +Status Algo_2_10(SqList* a, int i, int k) { + int j; + + // ȷ˳ + if(a == NULL || a->elem == NULL) { + return ERROR; + } + + // ±Խ + if(i < 1 || i > (*a).length || k < 0 || i + k - 1 > (*a).length) { + return ERROR; + } + + for(j = i; j <= i + k - 1; j++) { + (*a).elem[j - 1] = (*a).elem[j + k - 1]; + } + + (*a).length -= k; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.10/02.10.dev b/Dev-C++/ExerciseBook/02.10/02.10.dev new file mode 100644 index 0000000..e24bfad --- /dev/null +++ b/Dev-C++/ExerciseBook/02.10/02.10.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.10.dev +Name=02.10 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.10.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.10/SqList.cpp b/Dev-C++/ExerciseBook/02.10/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.10/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.10/SqList.h b/Dev-C++/ExerciseBook/02.10/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.10/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.11/02.11.cpp b/Dev-C++/ExerciseBook/02.11/02.11.cpp new file mode 100644 index 0000000..716a9a0 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.11/02.11.cpp @@ -0,0 +1,92 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.11 + * + * x뵽va + */ +Status Algo_2_11(SqList* va, ElemType x); + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 5; i++) { + ListInsert(&L, i, 2 * i); + } + + printf("ǰL = "); + ListTraverse(L, PrintElem); + + printf("Ԫ\"5\"뵽˳...\n"); + Algo_2_11(&L, 5); + + printf("L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// x뵽va +Status Algo_2_11(SqList* va, ElemType x) { + int i, j; + ElemType* newbase; + + // ȷ˳ + if(va == NULL || va->elem == NULL) { + return ERROR; + } + + // 洢ռ迪¿ռ + if((*va).length == (*va).listsize) { + newbase = (ElemType*) realloc((*va).elem, ((*va).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + exit(OVERFLOW); + } + + (*va).elem = newbase; + (*va).listsize += LISTINCREMENT; + } + + // ˳׸ԪxԪλλxҪλ + i = LocateElem(*va, x, CmpGreater); + if(i == 0) { + // Ҫ뵽˳ + i = (*va).length + 1; + } + + // Ԫغƣڳλáעjλ򣬼1֮ + for(j=(*va).length + 1; j>i; j--){ + (*va).elem[j-1] = (*va).elem[j-2]; + } + + (*va).elem[j-1] = x; + (*va).length++; + + return OK; +} + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.11/02.11.dev b/Dev-C++/ExerciseBook/02.11/02.11.dev new file mode 100644 index 0000000..91eeeb5 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.11/02.11.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.11.dev +Name=02.11 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.11.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.11/SqList.cpp b/Dev-C++/ExerciseBook/02.11/SqList.cpp new file mode 100644 index 0000000..0d96ded --- /dev/null +++ b/Dev-C++/ExerciseBook/02.11/SqList.cpp @@ -0,0 +1,142 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.11/SqList.h b/Dev-C++/ExerciseBook/02.11/SqList.h new file mode 100644 index 0000000..4de6606 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.11/SqList.h @@ -0,0 +1,74 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.12/02.12.cpp b/Dev-C++/ExerciseBook/02.12/02.12.cpp new file mode 100644 index 0000000..bc988c7 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.12/02.12.cpp @@ -0,0 +1,86 @@ +#include +#include "SqList.h" //**02 Ա**// + +/* + * 2.12 + * + * Ƚ˳СȽϲǴұ˳ + * ׶ԲͬԪʱݸԪصĴСϵȷ˳ĴСϵ + * + * ֵ-101ֱAB + */ +int Algo_2_12(SqList A, SqList B); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + int i, mark; + SqList A, B; + + int a[7] = {1, 2, 3, 4, 5, 9, 12}; + int b[7] = {1, 2, 3, 4, 5, 11, 12}; + + // ʼ + InitList(&A); + InitList(&B); + + // ֵ + for(i = 1; i <= 7; i++) { + ListInsert(&A, i, a[i - 1]); + ListInsert(&B, i, b[i - 1]); + } + + printf("A = "); + ListTraverse(A, PrintElem); + + printf("B = "); + ListTraverse(B, PrintElem); + + mark = Algo_2_12(A, B); + if(mark < 0) { + printf("==> A 1) { + printf("==> A>B\n"); + } else { + printf("A==B\n"); + } + + return 0; +} + + +// Ƚ˳С +int Algo_2_12(SqList A, SqList B) { + int i = 0; + + // ɨ˳AB + while(i < A.length && i < B.length) { + if(A.elem[i] > B.elem[i]) { + return 1; + } else if(A.elem[i] < B.elem[i]) { + return -1; + } else { + i++; //ʱȽһԪ + } + } + + // Aʣ࣬A + if(i < A.length) { + return 1; + + // Bʣ࣬B + } else if(i < B.length) { + return -1; + + // ͬʱɨ꣬ + } else { + return 0; + } +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.12/02.12.dev b/Dev-C++/ExerciseBook/02.12/02.12.dev new file mode 100644 index 0000000..20caaa9 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.12/02.12.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.12.dev +Name=02.12 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.12.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.12/SqList.cpp b/Dev-C++/ExerciseBook/02.12/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.12/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.12/SqList.h b/Dev-C++/ExerciseBook/02.12/SqList.h new file mode 100644 index 0000000..cd00561 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.12/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.13/02.13.cpp b/Dev-C++/ExerciseBook/02.13/02.13.cpp new file mode 100644 index 0000000..44ca935 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.13/02.13.cpp @@ -0,0 +1,60 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.13 + * + * ѰԪxLеλá + * 0˵xڡ + */ +int Algo_2_13(LinkList L, ElemType x); + +// жdata==eǷ +Status Equals(ElemType data, ElemType e); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 10; i++) { + ListInsert(L, i, 2 * i); + } + + // ˳ + printf("L = "); + ListTraverse(L, PrintElem); + + printf("Ԫ \"12\" LеλΪ %d \n", Algo_2_13(L, 12)); + + return 0; +} + + +// ѰԪxLеλ +int Algo_2_13(LinkList L, ElemType x) { + // ֱӵIJҺ + return LocateElem(L, x, Equals); +} + +// жdata==eǷ +Status Equals(ElemType data, ElemType e) { + if(data == e) { + return TRUE; + } else { + return FALSE; + } +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.13/02.13.dev b/Dev-C++/ExerciseBook/02.13/02.13.dev new file mode 100644 index 0000000..62cb267 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.13/02.13.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.13.dev +Name=02.13 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.13.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.13/LinkList.cpp b/Dev-C++/ExerciseBook/02.13/LinkList.cpp new file mode 100644 index 0000000..2e75ab5 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.13/LinkList.cpp @@ -0,0 +1,125 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.13/LinkList.h b/Dev-C++/ExerciseBook/02.13/LinkList.h new file mode 100644 index 0000000..93b4faa --- /dev/null +++ b/Dev-C++/ExerciseBook/02.13/LinkList.h @@ -0,0 +1,68 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.14/02.14.cpp b/Dev-C++/ExerciseBook/02.14/02.14.cpp new file mode 100644 index 0000000..6660205 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.14/02.14.cpp @@ -0,0 +1,46 @@ +#include +#include "LinkList.h" //**02 Ա**// + +/* + * 2.14 + * + * ȡ˳Lijȡ + */ +int Algo_2_14(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 15; i++) { + ListInsert(L, i, 2 * i); + } + + // ˳ + printf("L = "); + ListTraverse(L, PrintElem); + + printf("LijΪ %d \n", Algo_2_14(L)); + + return 0; +} + + +// ȡ˳Lij +int Algo_2_14(LinkList L) { + // ֱӵļ + return ListLength(L); +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.14/02.14.dev b/Dev-C++/ExerciseBook/02.14/02.14.dev new file mode 100644 index 0000000..9d87b27 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.14/02.14.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.14.dev +Name=02.14 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.14.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.14/LinkList.cpp b/Dev-C++/ExerciseBook/02.14/LinkList.cpp new file mode 100644 index 0000000..de7f136 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.14/LinkList.cpp @@ -0,0 +1,118 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.14/LinkList.h b/Dev-C++/ExerciseBook/02.14/LinkList.h new file mode 100644 index 0000000..5911e04 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.14/LinkList.h @@ -0,0 +1,64 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.15/02.15.cpp b/Dev-C++/ExerciseBook/02.15/02.15.cpp new file mode 100644 index 0000000..4b62d2e --- /dev/null +++ b/Dev-C++/ExerciseBook/02.15/02.15.cpp @@ -0,0 +1,90 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.15 + * + * hahb洢hcС + */ +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList ha, hb, hc = NULL; + int i; + + // ʼ + InitList(&ha); + InitList(&hb); + + // ֵ + for(i = 1; i <= 5; i++) { + ListInsert(ha, i, 2 * i - 1); + ListInsert(hb, i, 2 * i); + } + + printf("ha = "); + ListTraverse(ha, PrintElem); + + printf("hb = "); + ListTraverse(hb, PrintElem); + + // hahb + Algo_2_15(&ha, &hb, &hc); + + printf("hc = "); + ListTraverse(hc, PrintElem); + + return 0; +} + + +// hahb洢hc +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc) { + LinkList pa, pb; + + *hc = NULL; + + // ȷhahb + if(ha == NULL || *ha == NULL || hb == NULL || *hb == NULL) { + return ERROR; + } + + pa = *ha; + pb = *hb; + + // ΪЧʣҪȱͬIJ + while(pa->next != NULL && pb->next != NULL) { + pa = pa->next; + pb = pb->next; + } + + // haѾͷˣhbʣ + if(pa->next == NULL && pb->next != NULL) { + *hc = *ha; + pa->next = (*hb)->next; + free(*hb); + } + + // hbѾͷˣhaʣ࣬Ҳû + if(pb->next == NULL) { + *hc = *hb; + pb->next = (*ha)->next; + free(*ha); + } + + // ha/hbͷ + *ha = NULL; + *hb = NULL; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.15/02.15.dev b/Dev-C++/ExerciseBook/02.15/02.15.dev new file mode 100644 index 0000000..4d2785e --- /dev/null +++ b/Dev-C++/ExerciseBook/02.15/02.15.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.15.dev +Name=02.15 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.15.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.15/LinkList.cpp b/Dev-C++/ExerciseBook/02.15/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.15/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.15/LinkList.h b/Dev-C++/ExerciseBook/02.15/LinkList.h new file mode 100644 index 0000000..d3b16d7 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.15/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.cpp b/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.cpp new file mode 100644 index 0000000..c9bb25a --- /dev/null +++ b/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.cpp @@ -0,0 +1,296 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵûСͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.16 + * + * ɾlaеiλlenԪأӵlbjλ֮ǰ + */ +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len); + +/* + * 2.17 + * + * Ԫb뵽LiλϣiԪصλ򣬴1ʼ + */ +Status Algo_2_17(LinkList* L, int i, ElemType b); + +/* + * 2.18 + * + * ɾLĵi㣬iԪصλ򣬴1ʼ + */ +Status Algo_2_18(LinkList* L, int i); + +// ʼͷL +void InitList(LinkList* L); + +// ͷеԪ +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + int i; + LinkList la, lb; + + InitList(&la); + InitList(&lb); + + printf(" 2.17 ֤...\n"); + for(i = 1; i <= 10; i++) { + Algo_2_17(&la, i, 2 * i - 1); + Algo_2_17(&lb, i, 2 * i); + } + printf(" ͷ\n"); + printf(" la = "); + Output(la); + printf(" lb = "); + Output(lb); + PressEnterToContinue(); + + printf(" 2.16 ֤...\n"); + printf(" laдӵ25뵽lbĵ6֮ǰ...\n"); + Algo_2_16(&la, &lb, 2, 6, 5); + printf(" la = "); + Output(la); + printf(" lb = "); + Output(lb); + PressEnterToContinue(); + + printf(" 2.18 ֤...\n"); + printf(" ɾlb65...\n"); + for(i = 1; i <= 5; i++) { + Algo_2_18(&lb, 6); + } + printf(" ɾɺlb = "); + Output(lb); + + return 0; +} + + +// ɾlaеiλlenԪأӵlbjλ֮ǰ +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len) { + LinkList p; // ָlaеi-1 + LinkList q; // ָlaеi+len-1 + LinkList r; // ָqĽ + LinkList s; // ָlbеj-1 + int k; + + if(i <= 0 || j <= 0 || len <= 0) { + return ERROR; + } + + // ȷlaнժ + if(la == NULL || *la == NULL) { + return ERROR; + } + + + // ȷpλ + k = 1; + p = *la; + + if(i == 1) { + p = NULL; + } else { + // laеi-1㣬ұ̴֤ + while(p->next != NULL && k < i - 1) { + ++k; + p = p->next; + } + + // δҵʵλ + if(p->next == NULL) { + return ERROR; + } + } + + + // ȷqλ + if(p == NULL) { + q = *la; + } else { + q = p->next; + } + k = i; + + while(q != NULL && k < i + len - 1) { + ++k; + q = q->next; + } + + if(q == NULL) { + return ERROR; + } + + // ȷrλ + r = q->next; + + + if(lb == NULL) { + return ERROR; + } + + // ȷsλ + k = 1; + s = *lb; + + // 뵽lbһλ֮ǰ + if(j == 1) { + q->next = *lb; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + *lb = p->next; + p->next = r; + } + } else { + // lbеj-1㣬ұ̴֤ + while(s->next != NULL && k < j - 1) { + ++k; + s = s->next; + } + + // δҵʵλ + if(s->next == NULL) { + return ERROR; + } + + q->next = s->next; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + s->next = p->next; + p->next = r; + } + } + + return OK; +} + +// Ԫb뵽Liλ +Status Algo_2_17(LinkList* L, int i, ElemType b) { + LinkList p, s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i1ʼ + if(i <= 0) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = b; + + j = 1; + p = *L; + + // + if(i == 1) { + s->next = p; + *L = s; + } else { + // ҵi-1㣬ұ֤ + while(p != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // δҵʵλ + if(p == NULL) { + return ERROR; + } + + s->next = p->next; + p->next = s; + } + + return OK; +} + +// ɾLĵi +Status Algo_2_18(LinkList* L, int i) { + LinkList p, q; + int j; + + // ȷнɾ + if(L == NULL || *L == NULL) { + return ERROR; + } + + // i1ʼ + if(i <= 0) { + return ERROR; + } + + j = 1; + p = *L; + + // + if(i == 1) { + *L = p->next; + free(p); + } else { + // ҵi-1㣬ұ̴֤ + while(p->next != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // δҵʵλ + if(p->next == NULL) { + return ERROR; + } + + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// ʼͷL +void InitList(LinkList* L) { + *L = NULL; +} + +// ͷеԪ +void Output(LinkList L) { + while(L != NULL) { + printf("%2d ", L->data); + L = L->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.dev b/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.dev new file mode 100644 index 0000000..60dd968 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.16-02.18/02.16-02.18.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.16-02.18.dev +Name=02.16-02.18 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.16-02.18.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.cpp b/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.cpp new file mode 100644 index 0000000..c36a97f --- /dev/null +++ b/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.cpp @@ -0,0 +1,194 @@ +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.19һ + * + * ɾԱԪֵ(mink, maxk)֮Ľ㡣 + */ +Status Algo_2_19_1(LinkList L, int mink, int maxk); + +/* + * 2.19 + * + * ɾԱԪֵ(mink, maxk)֮Ľ㡣 + */ +Status Algo_2_19_2(LinkList L, int mink, int maxk); + +/* + * 2.20 + * + * ԷǵݼԱȥأظԪأһ + */ +Status Algo_2_20(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int mink1, mink2, maxk1, maxk2, i; + int a[] = {1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 11, 12, 12}; + + mink1 = 2; + maxk1 = 4; + + mink2 = 5; + maxk2 = 8; + + InitList(&L); + + for(i = 1; i <= 20; i++) { + ListInsert(L, i, a[i - 1]); + } + + printf(" L = "); + ListTraverse(L, PrintElem); + + printf(" 2.19 ֤...\n"); + printf(" ɾ (%d, %d) ΧڵԪ֮", mink1, maxk1); + Algo_2_19_1(L, mink1, maxk1); + printf("L = "); + ListTraverse(L, PrintElem); + + printf(" ɾ (%d, %d) ΧڵԪ֮", mink2, maxk2); + Algo_2_19_2(L, mink2, maxk2); + printf("L = "); + ListTraverse(L, PrintElem); + + printf(" 2.20 ֤...\n"); + printf(" Էǵݼȥ֮"); + Algo_2_20(L); + printf("L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ɾԱԪֵ(mink, maxk)֮Ľ +Status Algo_2_19_1(LinkList L, int mink, int maxk) { + LinkList p, q; + int flag; // Ч + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Χ趨 + if(mink >= maxk) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + p = L; // ָͷ + flag = 0; // δ(mink, maxk)ΧڵԪ + + while(p->next != NULL) { + q = p->next; + + // ҪɾĽ + if(q->data > mink && q->data < maxk) { + // (mink, maxk)ΧڵԪ + flag = 1; + p->next = q->next; + free(q); + } else { + // ˵ʣԪؾ>=maxkٱ + if(flag == 1) { + break; + } + p = q; + } + } + + return OK; +} + +// ɾԱԪֵ(mink, maxk)֮Ľ +Status Algo_2_19_2(LinkList L, int mink, int maxk) { + LinkList p, q; + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Χ趨 + if(mink >= maxk) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + p = L; // ָͷ + + // + while(p->next != NULL && p->next->data <= mink) { + p = p->next; + } + + // + if(p->next == NULL) { + return OK; + } + + // ޣɾ(mink, maxk)֮IJ + while(p->next != NULL && p->next->data < maxk) { + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// ԷǵݼԱȥأظԪأһ +Status Algo_2_20(LinkList L) { + LinkList p, q; + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + // ָ1Ԫ + p = L->next; + + while(p->next != NULL) { + q = p->next; + + // ظԪأҪɾһ + if(p->data == q->data) { + p->next = q->next; + free(q); + + // DzͬԪأpǰһ + } else { + p = q; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.dev b/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.dev new file mode 100644 index 0000000..fc73819 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.19-02.20/02.19-02.20.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.19-02.20.dev +Name=02.19-02.20 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.19-02.20.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.19-02.20/LinkList.cpp b/Dev-C++/ExerciseBook/02.19-02.20/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.19-02.20/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.19-02.20/LinkList.h b/Dev-C++/ExerciseBook/02.19-02.20/LinkList.h new file mode 100644 index 0000000..d3b16d7 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.19-02.20/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.21/02.21.cpp b/Dev-C++/ExerciseBook/02.21/02.21.cpp new file mode 100644 index 0000000..ee027cc --- /dev/null +++ b/Dev-C++/ExerciseBook/02.21/02.21.cpp @@ -0,0 +1,63 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.21 + * + * ˳á + */ +Status Algo_2_21(SqList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(&L, i, i); + } + + printf("˳L = "); + ListTraverse(L, PrintElem); + + Algo_2_21(L); + + printf("ãL = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ˳ +Status Algo_2_21(SqList L) { + int i, mid; + ElemType tmp; + + // ȷ˳ + if(L.elem == NULL) { + return ERROR; + } + + // ֻҪǰһԪؼ + mid = L.length / 2; + + for(i = 1; i <= mid; i++) { + tmp = L.elem[i - 1]; + L.elem[i - 1] = L.elem[L.length - i]; + L.elem[L.length - i] = tmp; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.21/02.21.dev b/Dev-C++/ExerciseBook/02.21/02.21.dev new file mode 100644 index 0000000..834ba8a --- /dev/null +++ b/Dev-C++/ExerciseBook/02.21/02.21.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.21.dev +Name=02.21 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.21.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.21/SqList.cpp b/Dev-C++/ExerciseBook/02.21/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.21/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.21/SqList.h b/Dev-C++/ExerciseBook/02.21/SqList.h new file mode 100644 index 0000000..25b1d92 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.21/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.22/02.22.cpp b/Dev-C++/ExerciseBook/02.22/02.22.cpp new file mode 100644 index 0000000..8a8ca81 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.22/02.22.cpp @@ -0,0 +1,62 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.22 + * + * á + */ +Status Algo_2_22(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + + printf("˳L = "); + ListTraverse(L, PrintElem); + + Algo_2_22(L); + + printf("ãL = "); + ListTraverse(L, PrintElem); + + return 0; +} + +// +Status Algo_2_22(LinkList L) { + LinkList p, q; + + // ȷ + if(L==NULL) { + return ERROR; + } + + p = L->next; + L->next = NULL; + + // ͷ巨 + while(p!=NULL){ + q = p->next; + p->next = L->next; + L->next = p; + p = q; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.22/02.22.dev b/Dev-C++/ExerciseBook/02.22/02.22.dev new file mode 100644 index 0000000..5221bbe --- /dev/null +++ b/Dev-C++/ExerciseBook/02.22/02.22.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.22.dev +Name=02.22 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.22.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.22/LinkList.cpp b/Dev-C++/ExerciseBook/02.22/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.22/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.22/LinkList.h b/Dev-C++/ExerciseBook/02.22/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.22/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.23/02.23.cpp b/Dev-C++/ExerciseBook/02.23/02.23.cpp new file mode 100644 index 0000000..96d6bc4 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.23/02.23.cpp @@ -0,0 +1,147 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.23һLa뵽Lb + * + * ϲ + * ϲɺ󣬽LaLbÿգ١ + */ +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc); + +/* + * 2.23LaLbеԪؽ뵽Lc + * + * ϲ + * ϲɺ󣬽LaLbÿգ١ + */ +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // ϲ +// Algo_2_23_1(La, Lb, &Lc); + Algo_2_23_2(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// ϲ +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pb; + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pb = Lb; + + while(La->next != NULL && pb->next != NULL) { + // Laժ½ + p = La->next; + La->next = p->next; + + // LaժµĽ뵽Lb + p->next = pb->next; + pb->next = p; + + // ǰԭLbһλ + pb = pb->next->next; + } + + // Laʣ࣬ҪȫӵLbβ + if(pb->next == NULL && La->next != NULL) { + pb->next = La->next; + La->next = NULL; + } + + InitList(Lc); + + (*Lc)->next = Lb->next; + Lb->next = NULL; + + return OK; +} + +// ϲ +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pc; + int flag; // ָӲLaеԪػDzLbеԪ + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + flag = 0; + pc = *Lc; + + while(La->next!=NULL && Lb->next!=NULL){ + // ҪLaеԪ + if(flag==0) { + // ժLaеԪ + p = La->next; + La->next = p->next; + + flag = 1; + } else { + // ժLaеԪ + p = Lb->next; + Lb->next = p->next; + + flag = 0; + } + + // ժµԪز뵽Lc + pc->next = p; + pc = pc->next; + } + + // Lbʣ + if(La->next==NULL) { + // ժLbеԪ + p = Lb->next; + Lb->next = NULL; + pc->next = p; + + // Laʣ + } else { + // ժLaеԪ + p = La->next; + La->next = NULL; + pc->next = p; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.23/02.23.dev b/Dev-C++/ExerciseBook/02.23/02.23.dev new file mode 100644 index 0000000..1495167 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.23/02.23.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.23.dev +Name=02.23 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.23.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.23/LinkList.cpp b/Dev-C++/ExerciseBook/02.23/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.23/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.23/LinkList.h b/Dev-C++/ExerciseBook/02.23/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.23/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.24/02.24.cpp b/Dev-C++/ExerciseBook/02.24/02.24.cpp new file mode 100644 index 0000000..dcecc52 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.24/02.24.cpp @@ -0,0 +1,94 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.24 + * + * 鲢Ϊһݼ + * 鲢ǣժLaLbеԪأʹͷ巨뵽Lc + * 鲢ɺ󣬽ԭÿգ١ + */ +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 鲢 + Algo_2_24(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// 鲢Ϊһݼ +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb; + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + // LaLb + while(La->next!=NULL && Lb->next!=NULL){ + pa = La->next; + pb = Lb->next; + + // ժLaLbнСԪ + if(pa->data<=pb->data) { + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } else { + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + } + + // Laʣ࣬LaʣԪز뵽Lc + while(La->next!=NULL){ + pa = La->next; + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } + + // Lbʣ࣬LbʣԪز뵽Lc + while(Lb->next!=NULL){ + pb = Lb->next; + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.24/02.24.dev b/Dev-C++/ExerciseBook/02.24/02.24.dev new file mode 100644 index 0000000..d7117f1 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.24/02.24.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.24.dev +Name=02.24 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.24.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.24/LinkList.cpp b/Dev-C++/ExerciseBook/02.24/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.24/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.24/LinkList.h b/Dev-C++/ExerciseBook/02.24/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.24/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.25/02.25.cpp b/Dev-C++/ExerciseBook/02.25/02.25.cpp new file mode 100644 index 0000000..9f0a5df --- /dev/null +++ b/Dev-C++/ExerciseBook/02.25/02.25.cpp @@ -0,0 +1,82 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.25 + * + * 󽻼C=AB + */ +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Algo_2_25(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc) { + int i, j, k; + + // ȷLaLb + if(La.elem == NULL || Lb.elem == NULL) { + return ERROR; + } + + InitList(Lc); + + i = j = 0; // LaLb + k = 0; // Lc + + // ֻLaLbĹͬ־ + while(i < La.length && j < Lb.length) { + if(La.elem[i] < Lb.elem[j]) { + i++; + } else if(La.elem[i] > Lb.elem[j]) { + j++; + // LaLbеԪ + } else { + // LcԪؿظ + ListInsert(Lc, k+1, La.elem[i]); + k++; + i++; + j++; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.25/02.25.dev b/Dev-C++/ExerciseBook/02.25/02.25.dev new file mode 100644 index 0000000..e1a3687 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.25/02.25.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.25.dev +Name=02.25 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.25.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.25/SqList.cpp b/Dev-C++/ExerciseBook/02.25/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.25/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.25/SqList.h b/Dev-C++/ExerciseBook/02.25/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.25/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.26/02.26.cpp b/Dev-C++/ExerciseBook/02.26/02.26.cpp new file mode 100644 index 0000000..f9f4f64 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.26/02.26.cpp @@ -0,0 +1,89 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.26 + * + * 󽻼C=AB + */ +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Algo_2_26(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb, pc, s; + + // ȷLaLb + if(La == NULL || Lb == NULL) { + return ERROR; + } + + InitList(Lc); + + pa = La->next; + pb = Lb->next; + pc = *Lc; + + // ֻLaLbĹͬ־ + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + pa = pa->next; + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // LcԪؿظ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = pa->data; + s->next = NULL; + + pc->next = s; + + pc = pc->next; + + pa = pa->next; + pb = pb->next; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.26/02.26.dev b/Dev-C++/ExerciseBook/02.26/02.26.dev new file mode 100644 index 0000000..084319e --- /dev/null +++ b/Dev-C++/ExerciseBook/02.26/02.26.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.26.dev +Name=02.26 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.26.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.26/LinkList.cpp b/Dev-C++/ExerciseBook/02.26/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.26/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.26/LinkList.h b/Dev-C++/ExerciseBook/02.26/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.26/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.27/02.27.cpp b/Dev-C++/ExerciseBook/02.27/02.27.cpp new file mode 100644 index 0000000..f575a69 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.27/02.27.cpp @@ -0,0 +1,96 @@ +#include +#include "SqList.h" //**02 Ա**// + +/* + * 2.27 + * + * 󽻼C=AB + * CеԪظCAԭеĿռ䣬A١ + */ +SqList Algo_2_27(SqList* La, SqList Lb); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Lc = Algo_2_27(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +SqList Algo_2_27(SqList* La, SqList Lb) { + int i, j, k; + SqList Lc; + + // ȷLaLb + if((*La).elem == NULL || Lb.elem == NULL) { + Lc.elem = NULL; + Lc.length = 0; + Lc.listsize = 0; + return Lc; + } + + i = j = 0; // LaLb + k = 0; // Lc + + Lc.elem = (*La).elem; + Lc.listsize = La->listsize; + + // ֻLaLbĹͬ־ + while(i < (*La).length && j < Lb.length) { + if((*La).elem[i] < Lb.elem[j]) { + i++; + } else if((*La).elem[i] > Lb.elem[j]) { + j++; + // LaLbеԪ + } else { + // ȷLcеԪزظ + if(k == 0 || Lc.elem[k - 1] != (*La).elem[i]) { + Lc.elem[k] = (*La).elem[i]; + k++; + } + + i++; + j++; + } + } + + // Aռ佻Cʹ + (*La).elem = NULL; + (*La).length = 0; + (*La).listsize = 0; + + Lc.length = k; + + return Lc; +} + +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.27/02.27.dev b/Dev-C++/ExerciseBook/02.27/02.27.dev new file mode 100644 index 0000000..fefdbc0 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.27/02.27.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.27.dev +Name=02.27 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.27.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.27/SqList.cpp b/Dev-C++/ExerciseBook/02.27/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.27/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.27/SqList.h b/Dev-C++/ExerciseBook/02.27/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.27/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.28/02.28.cpp b/Dev-C++/ExerciseBook/02.28/02.28.cpp new file mode 100644 index 0000000..3300e69 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.28/02.28.cpp @@ -0,0 +1,92 @@ +#include +#include "LinkList.h" //**02 Ա**// + +/* + * 2.28 + * + * 󽻼C=AB + * CеԪظCAԭеĿռ䣬A١ + */ +LinkList Algo_2_28(LinkList* La, LinkList Lb); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Lc = Algo_2_28(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +LinkList Algo_2_28(LinkList* La, LinkList Lb) { + LinkList Lc; + LinkList pa, pb, pc, s; + + // ȷLaLb + if(La == NULL || *La == NULL || Lb == NULL) { + return NULL; + } + + pa = (*La)->next; + pb = Lb->next; + + Lc = *La; + Lc->next = NULL; + pc = Lc; + + // ֻLaLbĹͬ־ + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + s = pa; + pa = pa->next; + free(s); + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // ȷLcеԪزظ + if(pc == Lc || pc->data != pa->data) { + pc->next = pa; + pc = pc->next; + } + + pa = pa->next; + pb = pb->next; + } + } + + pc->next = NULL; + + + *La = NULL; + + return Lc; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.28/02.28.dev b/Dev-C++/ExerciseBook/02.28/02.28.dev new file mode 100644 index 0000000..ce46ce4 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.28/02.28.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.28.dev +Name=02.28 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit1] +FileName=02.28.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.28/LinkList.cpp b/Dev-C++/ExerciseBook/02.28/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.28/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.28/LinkList.h b/Dev-C++/ExerciseBook/02.28/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.28/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.29/02.29.cpp b/Dev-C++/ExerciseBook/02.29/02.29.cpp new file mode 100644 index 0000000..b132464 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.29/02.29.cpp @@ -0,0 +1,104 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.29 + * + * A=A-BC + */ +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + ListInsert(&Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + + // + Algo_2_29(&La, Lb, Lc); + + printf("La = La-LbLc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-BC +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc) { + int i, j, k, count; + + if(La==NULL || (*La).elem==NULL || Lb.elem==NULL || Lc.elem==NULL) { + return ERROR; + } + + i = j = k = 0; + count = 0; + + // ȡBCĽȻAɾ + while(i < (*La).length && j < Lb.length && k < Lc.length) { + if(Lb.elem[j] < Lc.elem[k]) { + j++; + } else if(Lb.elem[j] > Lc.elem[k]) { + k++; + } else { + // AвҽԪ + while(i < (*La).length && (*La).elem[i] < Lb.elem[j]) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + // Ԫ + while(i < (*La).length && (*La).elem[i] == Lb.elem[j]) { + i++; + } + + // Aûб + if(i < (*La).length) { + j++; + k++; + } + } + } + + // ʣԪطŵʵλ + while(i < (*La).length) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + (*La).length = count; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.29/02.29.dev b/Dev-C++/ExerciseBook/02.29/02.29.dev new file mode 100644 index 0000000..c7253ce --- /dev/null +++ b/Dev-C++/ExerciseBook/02.29/02.29.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.29.dev +Name=02.29 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.29.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=SqList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=SqList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.29/SqList.cpp b/Dev-C++/ExerciseBook/02.29/SqList.cpp new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/Dev-C++/ExerciseBook/02.29/SqList.cpp @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.29/SqList.h b/Dev-C++/ExerciseBook/02.29/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.29/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.30/02.30.cpp b/Dev-C++/ExerciseBook/02.30/02.30.cpp new file mode 100644 index 0000000..b4281bf --- /dev/null +++ b/Dev-C++/ExerciseBook/02.30/02.30.cpp @@ -0,0 +1,97 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.30 + * + * A=A-BC + */ +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + ListInsert(Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + // + Algo_2_30(La, Lb, Lc); + + printf("La = La-LbLc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-BC +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc) { + LinkList pa, pb, pc, p; + + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pa = La->next; + pb = Lb->next; + pc = Lc->next; + p = La; + + // ȡBCĽȻAɾ + while(pa != NULL && pb != NULL && pc != NULL) { + if(pb->data < pc->data) { + pb = pb->next; + } else if(pb->data > pc->data) { + pc = pc->next; + } else { + // AвҽԪ + while(pa != NULL && pa->data < pb->data) { + p = pa; + pa = pa->next; + } + + // Ԫ + while(pa != NULL && pa->data == pb->data) { + p->next = pa->next; + free(pa); + pa = p->next; + } + + // Aûб + if(pa != NULL ) { + pb = pb->next; + pc = pc->next; + } + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.30/02.30.dev b/Dev-C++/ExerciseBook/02.30/02.30.dev new file mode 100644 index 0000000..b578f5f --- /dev/null +++ b/Dev-C++/ExerciseBook/02.30/02.30.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.30.dev +Name=02.30 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.30.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=LinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=LinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.30/LinkList.cpp b/Dev-C++/ExerciseBook/02.30/LinkList.cpp new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.30/LinkList.cpp @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.30/LinkList.h b/Dev-C++/ExerciseBook/02.30/LinkList.h new file mode 100644 index 0000000..c61d71a --- /dev/null +++ b/Dev-C++/ExerciseBook/02.30/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/Dev-C++/ExerciseBook/02.31/02.31.cpp b/Dev-C++/ExerciseBook/02.31/02.31.cpp new file mode 100644 index 0000000..0278340 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.31/02.31.cpp @@ -0,0 +1,136 @@ +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +// ѭṹͷ㣩 +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.31 + * + * ɾsǰ + */ +Status Algo_2_31(LinkList* L, LinkList s); + +// ָݴޡͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// L +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, s; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // ׼ + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + s = L->next->next->next->next; + + printf("ɾ %d ǰ...\n", s->data); + Algo_2_31(&L, s); + + printf("L = "); + Output(L); + + return 0; +} + +// ɾsǰ +Status Algo_2_31(LinkList* L, LinkList s) { + LinkList p, pre; + + if(L == NULL || *L == NULL) { + return ERROR; + } + + // ǰ + if(s == NULL || s->next == s) { + return ERROR; + } + + p = s; + + // ʹp->nextָsǰ + while(p->next->next != s) { + p = p->next; + } + + // sǰ + pre = p->next; + + // ɾǰ + p->next = pre->next; + free(pre); + + // ǰ + if(pre == *L) { + *L = s; + } + + return OK; +} + +// ָݴͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + *L = NULL; + + for(i = 0; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + + s->data = elems[i]; + + if(i == 0) { + *L = s; + s->next = *L; // ѭ + r = *L; + } else { + s->next = r->next; + r->next = s; + r = r->next; + } + } + + return OK; +} + +// L +void Output(LinkList L) { + LinkList p; + + if(L == NULL) { + return; + } + + printf("%2d ", L->data); + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.31/02.31.dev b/Dev-C++/ExerciseBook/02.31/02.31.dev new file mode 100644 index 0000000..275fc76 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.31/02.31.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.31.dev +Name=02.31 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.31.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.32/02.32.cpp b/Dev-C++/ExerciseBook/02.32/02.32.cpp new file mode 100644 index 0000000..55dc484 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.32/02.32.cpp @@ -0,0 +1,134 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +// ˫ѭṹ +typedef struct LNode { + ElemType data; + struct LNode* next; + struct LNode* pre; +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.32 + * + * ѭ޸Ϊ˫ѭ + */ +Status Algo_2_32(LinkList L); + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// +void Output(LinkList L); + +// +void OutputReverse(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L; + ElemType a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // ׼ݣ + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + // Ϊ˫ + Algo_2_32(L); + + // + printf("L = "); + OutputReverse(L); + + return 0; +} + + +// ѭ޸Ϊ˫ѭ +Status Algo_2_32(LinkList L) { + LinkList r; + + if(L==NULL || L->next==L) { + return ERROR; + } + + for(r = L; r->next != L; r = r->next) { + r->next->pre = r; + } + + L->pre = r; + + return OK; +} + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // ʼͷ + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->pre = NULL; + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->pre = NULL; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} + +// +void OutputReverse(LinkList L) { + LinkList p; + + if(L == NULL || L->pre == L) { + return; + } + + for(p = L->pre; p != L; p = p->pre) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.32/02.32.dev b/Dev-C++/ExerciseBook/02.32/02.32.dev new file mode 100644 index 0000000..021334c --- /dev/null +++ b/Dev-C++/ExerciseBook/02.32/02.32.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.32.dev +Name=02.32 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.32.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.33/02.33.cpp b/Dev-C++/ExerciseBook/02.33/02.33.cpp new file mode 100644 index 0000000..6e6160d --- /dev/null +++ b/Dev-C++/ExerciseBook/02.33/02.33.cpp @@ -0,0 +1,174 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩisalphaisdigitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef char ElemType; + +// ѭṹ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.33 + * + * ַ֡ + */ +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other); + +// ʼһѭ +Status InitList(LinkList* L); + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, L_char, L_num, L_other; + + ElemType a[20+1] = "2a3@A5e$T*1%s&7pl(o)"; + + // ׼ݣ + CreatList(&L, a, 20); + printf("L = "); + Output(L); + + // + Algo_2_33(L, &L_char, &L_num, &L_other); + + // ֺ + printf("L_char = "); + Output(L_char); + printf("L_num = "); + Output(L_num); + printf("L_other = "); + Output(L_other); + + return 0; +} + + +// ַ֡ +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other) { + LinkList r, rc, rn, ro, s; + + if(L_char == NULL || L_num == NULL || L_other == NULL) { + return ERROR; + } + + if(L == NULL || L->next == L) { + return ERROR; + } + + InitList(L_char); + InitList(L_num); + InitList(L_other); + + r = L->next; + rc = *L_char; + rn = *L_num; + ro = *L_other; + + while(r != L) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = r->data; + + // ԪΪַ + if(isalpha(r->data)) { + s->next = rc->next; + rc->next = s; + rc = rc->next; + + // ԪΪ + } else if(isdigit(r->data)) { + s->next = rn->next; + rn->next = s; + rn = rn->next; + + // + } else { + s->next = ro->next; + ro->next = s; + ro = ro->next; + } + + r = r->next; + } + + return OK; +} + + +// ʼһѭ +Status InitList(LinkList* L) { + if(L == NULL) { + return ERROR; + } + + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + return OK; +} + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // ʼͷ + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%c ", p->data); + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.33/02.33.dev b/Dev-C++/ExerciseBook/02.33/02.33.dev new file mode 100644 index 0000000..7c1a3b5 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.33/02.33.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.33.dev +Name=02.33 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.33.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.cpp b/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.cpp new file mode 100644 index 0000000..0c20aeb --- /dev/null +++ b/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.cpp @@ -0,0 +1,434 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include +#include "Status.h" //**01 **// + +// ָԪ +typedef char XElemType; + +// ָṹ +typedef struct XorNode { + XElemType data; + struct XorNode* LRPtr; +} XorNode; +typedef XorNode* XorPointer; + +// ͷָ˫ͷβָ +typedef struct { + XorPointer Left; // ֱָˣͷָ룩Ҷˣβָ룩 + XorPointer Right; +} XorLinkedList; + + +/* + * 2.34һPriorOrNext + * + * Lmarkʾ01 + */ +void Algo_2_34_1(XorLinkedList L, int mark); + +/* + * 2.34PriorOrNext + * + * Lmarkʾ01 + */ +void Algo_2_34_2(XorLinkedList L, int mark); + +/* + * 2.35 + * + * Ԫe뵽i֮ǰ + */ +Status Algo_2_35(XorLinkedList* L, int i, XElemType e); + +/* + * 2.36 + * + * ɾi(>0)㣬eܽԪֵ + */ +Status Algo_2_36(XorLinkedList* L, int i, char* e); + +// ָָpqֵ㣺p^q +XorPointer XorP(XorPointer p, XorPointer q); + +// ָL +Status Create(XorLinkedList* L, XElemType elems[], int n); + +// ȡǰ(cur)ǰ(mark=0)(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark); + + +int main(int argc, char** argv) { + XorLinkedList L; + XElemType e; + XElemType* data = "123456789"; + + Create(&L, data, strlen(data)); + printf(" 2.34 ֤...\n"); + printf(" L = "); + Algo_2_34_1(L, 0); + printf(" L = "); + Algo_2_34_1(L, 1); + + printf(" 2.35 ֤...\n"); + Algo_2_35(&L, 5, '*'); + printf(" '*' ΪLĵ5˳...\n"); + printf(" L = "); + Algo_2_34_2(L, 0); + + printf(" 2.36 ֤...\n"); + Algo_2_36(&L, 5, &e); + printf(" ɾLĵ5 '%c' ...\n", e); + printf(" L = "); + Algo_2_34_2(L, 1); + + return 0; +} + + +// 㣺p^q +XorPointer XorP(XorPointer p, XorPointer q) { + // Cļʹõunsigned long + uintptr_t x, y, z; + + x = uintptr_t (p); + y = uintptr_t (q); + + // + z = x ^ y; + + return (XorPointer) z; +} + +// ָL +Status Create(XorLinkedList* L, XElemType elems[], int n) { + int i; + XorPointer pre_l, pre_m, pre_r; // ׼ָ룬ָнڵ + + (*L).Left = NULL; + (*L).Right = NULL; + + pre_l = pre_m = NULL; + + for(i = 0; i < n; i++) { + pre_r = (XorPointer) malloc(sizeof(XorNode)); + if(pre_r == NULL) { + exit(OVERFLOW); + } + pre_r->data = elems[i]; + + // ָ루׽ʱ + if(i == 0) { + L->Left = pre_r; + } + + // ָ룬ָһ + L->Right = pre_r; + + // ½ʱһָҪ޸ + if(pre_m != NULL) { + pre_m->LRPtr = XorP(pre_l, pre_r); + } + + pre_r->LRPtr = XorP(pre_m, NULL); + pre_l = pre_m; + pre_m = pre_r; + } + + return OK; +} + +// ȡǰ(cur)ǰ(mark=0)(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return NULL; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL || cur == NULL) { + return NULL; + } + + // ̣ + if(mark == 1) { + p_l = NULL; + p_m = L.Left; + + // ָ벻ƽ + while(p_m != cur) { + p_r = XorP(p_l, p_m->LRPtr); //Ҳһַ + p_l = p_m; + p_m = p_r; + } + + // p_mָcurǰ + p_r = XorP(p_l, p_m->LRPtr); + + return p_r; + + // ǰ + } else { + p_m = L.Right; + p_r = NULL; + + // ָ벻ƽ + while(p_m != cur) { + p_l = XorP(p_m->LRPtr, p_r); //һַ + p_r = p_m; + p_m = p_l; + } + + // p_mָcurĺ + p_l = XorP(p_m->LRPtr, p_r); + + return p_l; + } +} + +// Lmarkʾ01 +void Algo_2_34_1(XorLinkedList L, int mark) { + XorPointer cur; + + if(mark != 1 && mark != 0) { + return; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // + if(mark == 0) { + cur = L.Left; + do { + printf("%c ", cur->data); + // ȡcurĺ + cur = PriorOrNext(L, cur, 1); + } while(cur != NULL); + + // + } else { + cur = L.Right; + do { + printf("%c ", cur->data); + // ȡcurǰ + cur = PriorOrNext(L, cur, 0); + } while(cur != NULL); + } + + printf("\n"); +} + +// Lmarkʾ01 +void Algo_2_34_2(XorLinkedList L, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // + if(mark == 0) { + p_l = NULL; + p_m = L.Left; + + // p_mΪʱ˵ + while(p_m != NULL) { + printf("%c ", p_m->data); + p_r = XorP(p_l, p_m->LRPtr); // Ҳһַ + p_l = p_m; // ָ벻ƽ + p_m = p_r; + } + + // + } else { + p_m = L.Right; + p_r = NULL; + + // p_mΪʱ˵ + while(p_m != NULL) { + printf("%c ", p_m->data); + p_l = XorP(p_m->LRPtr, p_r); // һַ + p_r = p_m; // ָ벻ǰƽ + p_m = p_l; + } + } + + printf("\n"); +} + +// Ԫe뵽i֮ǰ +Status Algo_2_35(XorLinkedList* L, int i, XElemType e) { + XorPointer pl; // ָi-2 + XorPointer pre; // ָi-1 + XorPointer p; // ָi + XorPointer pr; // ָi+1 + XorPointer s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // ½ + s = (XorPointer) malloc(sizeof(XorNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // ȴΪյ + if((*L).Left == NULL && (*L).Right == NULL) { + if(i != 1) { + return ERROR; // ΪʱiֻΪ1 + } + + (*L).Left = (*L).Right = s; + s->LRPtr = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // ҵi-1㣬preָ + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // iֵϹ棨 + if(j < i - 1) { + return ERROR; + } + + // Ҫ뵽β + if(p == NULL) { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, s); + + s->LRPtr = XorP(pre, p); + + (*L).Right = s; + + return OK; + } + + // Ҫ뵽ͷ + if(pre == NULL) { + pr = XorP(pre, p->LRPtr); + p->LRPtr = XorP(s, pr); + + s->LRPtr = XorP(pre, p); + + (*L).Left = s; + + return OK; + } + + // + pl = XorP(pre->LRPtr, p); + pr = XorP(pre, p->LRPtr); + pre->LRPtr = XorP(pl, s); + p->LRPtr = XorP(s, pr); + s->LRPtr = XorP(pre, p); + + return OK; +} + +// ɾi(>0)㣬eܽԪֵ +Status Algo_2_36(XorLinkedList* L, int i, XElemType* e) { + XorPointer pl; // ָi-2 + XorPointer pre; // ָi-1 + XorPointer p; // ָi + XorPointer pr; // ָi+1 + XorPointer prr; // ָi+2 + int j; + + if(L == NULL || (*L).Left == NULL || (*L).Right == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // ȴֻһ + if((*L).Left == (*L).Right) { + if(i != 1) { + return ERROR; // ֻһʱiֻΪ1 + } + + *e = (*L).Left->data; + (*L).Left = (*L).Right = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // ҵi-1㣬preָ + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // iֵϹ棨 + if(j < i - 1 || p == NULL) { + return ERROR; + } + + // 洢ɾԪصֵ + *e = p->data; + + /* ˣԪشڣpָɾԪ */ + + pr = XorP(pre, p->LRPtr); + + // ɾͷ + if(pre == NULL) { + // ڴʱ㣬pr!=NULL + prr = XorP(p, pr->LRPtr); + + pr->LRPtr = XorP(pre, prr); + + (*L).Left = pr; + } else { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, pr); + + // ɾһ + if(pr==NULL) { + (*L).Right = pre; + } else { + prr = XorP(p, pr->LRPtr); + pr->LRPtr = XorP(pre, prr); + } + } + + free(p); + + return OK; +} diff --git a/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.dev b/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.dev new file mode 100644 index 0000000..f597bfb --- /dev/null +++ b/Dev-C++/ExerciseBook/02.34-02.36/02.34-02.36.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.34-02.36.dev +Name=02.34-02.36 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.34-02.36.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.37/02.37.cpp b/Dev-C++/ExerciseBook/02.37/02.37.cpp new file mode 100644 index 0000000..2890d7f --- /dev/null +++ b/Dev-C++/ExerciseBook/02.37/02.37.cpp @@ -0,0 +1,73 @@ +#include +#include "Status.h" //**01 **// +#include "DuLinkList.h" //**02 Ա**// + +/* + * 2.37 + * + * żԪλλԪؿǰżλԪؿ + */ +Status Algo_2_37(DuLinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + printf("ǰ L = "); + ListTraverse(L, PrintElem); + + Algo_2_37(L); + + printf("ź L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// żԪλλԪؿǰżλԪؿ +Status Algo_2_37(DuLinkList L) { + DuLinkList head, tail, p; + + if(L == NULL || L->prior == NULL || L->next == NULL) { + return ERROR; + } + + head = L->next; // ָףƽ + tail = L->prior; // ָβ̶ + + // headtailмٸһԪ + while(head != tail && head->next != tail) { + // ָԭżλԪ + p = head->next; + + // ժ´żλԪ + p->next->prior = head; + head->next = p->next; + + // Ԫӵԭtail + p->next = tail->next; + p->prior = tail; + tail->next->prior = p; + tail->next = p; + + // ǰһλԪ + head = head->next; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/Dev-C++/ExerciseBook/02.37/02.37.dev b/Dev-C++/ExerciseBook/02.37/02.37.dev new file mode 100644 index 0000000..8a3e63c --- /dev/null +++ b/Dev-C++/ExerciseBook/02.37/02.37.dev @@ -0,0 +1,82 @@ +[Project] +FileName=02.37.dev +Name=02.37 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=3 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.37.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=DuLinkList.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit3] +FileName=DuLinkList.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.37/DuLinkList.cpp b/Dev-C++/ExerciseBook/02.37/DuLinkList.cpp new file mode 100644 index 0000000..df3f94d --- /dev/null +++ b/Dev-C++/ExerciseBook/02.37/DuLinkList.cpp @@ -0,0 +1,130 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#include "DuLinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // ǰͺָ̾ + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // ½ + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // s뵽pǰ棬Ϊi + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return NULL; + } + + // λòϹ + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // ԲҵiԪ + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // ǡҵiԪ + if(count == i) { + return p; + } + + // ˣ˵p->next==LʱҪжiǷ + if(count + 1 < i) { + return NULL; + } + + // ˣ˵Ҫlen+1λϲԪ + return L; +} diff --git a/Dev-C++/ExerciseBook/02.37/DuLinkList.h b/Dev-C++/ExerciseBook/02.37/DuLinkList.h new file mode 100644 index 0000000..4a0edc2 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.37/DuLinkList.h @@ -0,0 +1,67 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // +} DuLNode; + +// ָ˫ѭָ +typedef DuLNode* DuLinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L); + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/Dev-C++/ExerciseBook/02.38/02.38.cpp b/Dev-C++/ExerciseBook/02.38/02.38.cpp new file mode 100644 index 0000000..72a7780 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.38/02.38.cpp @@ -0,0 +1,153 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹһƴ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // + int freq; // Ƶ +} DuLNode; + +// ָ˫ѭṹָ +typedef DuLNode* DuLinkList; + +/* + * 2.38 + * + * Ԫe״Lгֵλ򣬲Ƶ + */ +DuLinkList Algo_2_38(DuLinkList* L, ElemType e); + +// ˫ѭ +Status CreatList(DuLinkList* L, ElemType elems[], int n); + +// +void Output(DuLinkList L); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + ElemType data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + ElemType visit[10] = {1, 2, 2, 2, 3, 4, 4, 5, 5, 9}; + + CreatList(&L, data, 10); + printf("ǰ L = \n"); + Output(L); + + // ηtmpԤ + for(i = 0; i < 10; i++) { + Algo_2_38(&L, visit[i]); + } + + printf("ʺL = \n"); + Output(L); + + return 0; +} + +// Ԫe״Lгֵλ򣬲Ƶ +DuLinkList Algo_2_38(DuLinkList* L, ElemType e) { + DuLinkList pre, r; + + // ȷ + if(L == NULL || *L == NULL) { + return NULL; + } + + for(pre = *L; pre->next != *L && pre->next->data != e; pre = pre->next) { + // Ԫeǰ + } + + // ûҵԪ + if(pre->next == *L) { + return NULL; + } + + // ժԪe + r = pre->next; + pre->next = r->next; + r->next->prior = pre; + + // Ƶһ + r->freq++; + + for(pre = *L; pre->next != *L && pre->next->freq > r->freq; pre = pre->next) { + // ݷƵȣѰԪeӦòλõǰ + } + + // Ԫe뵽ʵλ + r->next = pre->next; + r->prior = pre; + pre->next->prior = r; + pre->next = r; + + // ָԪe + return r; +} + +// ˫ѭ +Status CreatList(DuLinkList* L, ElemType elems[], int n) { + DuLinkList s, p; + int i; + + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->data = -1; + (*L)->prior = *L; + (*L)->next = *L; + (*L)->freq = 0; + + p = *L; + + for(i = 0; i < n; i++) { + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->freq = 0; + + // β + s->next = *L; + (*L)->prior = s; + s->prior = p; + p->next = s; + + p = p->next; + } + + return OK; +} + +// +void Output(DuLinkList L) { + DuLinkList p; + + if(L == NULL || L->next == L || L->prior == NULL) { + return; + } + + printf("ݣ"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + printf("\n"); + + printf("Ƶȣ"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->freq); + } + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.38/02.38.dev b/Dev-C++/ExerciseBook/02.38/02.38.dev new file mode 100644 index 0000000..82acfae --- /dev/null +++ b/Dev-C++/ExerciseBook/02.38/02.38.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.38.dev +Name=02.38 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.38.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.cpp b/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.cpp new file mode 100644 index 0000000..eefde6c --- /dev/null +++ b/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.cpp @@ -0,0 +1,184 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩpowԭ +#include "Status.h" //**01 **// + +// ϡʽ˳ṹ +typedef struct { + int coef; //ϵ + int exp; //ָ +} PolyTerm; + +// ʽ˳洢ṹ +typedef struct { + PolyTerm* data; + int last; // ʽ +} SqPoly; + +/* + * 2.39 + * + * ʽֵ + */ +int Algo_2_39(SqPoly P, int x); + +/* + * 2.40 + * + * Pc=Pa-Pb + */ +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc); + +// ϡʽ +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n); + +// ϡʽ +void OutputPoly(SqPoly P); + + +int main(int argc, char* argv[]) { + SqPoly Pa, Pb, Pc; + + PolyTerm a[5] = {{-2, 1}, {4, 3}, {11, 5}, {-7, 7}, {8, 9}}; + PolyTerm b[5] = {{3, 2}, {-5, 3}, {12, 4}, {-7, 7}, {6, 11}}; + + // ׼ + CreatPoly(&Pa, a, 5); + CreatPoly(&Pb, b, 5); + printf("Pan(x) = "); + OutputPoly(Pa); + printf("Pbn(x) = "); + OutputPoly(Pb); + + printf("\n"); + + printf(" 2.39 ֤...\n"); + printf(" Pa5(2) = %d", Algo_2_39(Pa, 2)); + printf("\n"); + printf(" Pb5(2) = %d", Algo_2_39(Pb, 2)); + printf("\n\n"); + + printf(" 2.40 ֤...\n"); + Algo_2_40(Pa, Pb, &Pc); + printf(" Pcn(x) = "); + OutputPoly(Pc); + + printf("ʽPcֵ Pc5(2) = %d\n", Algo_2_39(Pc, 2)); + + return 0; +} + + +// ʽֵ +int Algo_2_39(SqPoly P, int x) { + int i, sum; + + for(i = 0, sum = 0; i < P.last; i++) { + sum += P.data[i].coef * (int) (pow(x, P.data[i].exp)); + } + + return sum; +} + +// Pc=Pa-Pb +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc) { + int i, j, k, sum; + + (*Pc).data = (PolyTerm*) malloc((Pa.last + Pb.last) * sizeof(PolyTerm)); + if((*Pc).data == NULL) { + exit(OVERFLOW); + } + + i = j = k = 0; + + // PaPbĹ + while(i < Pa.last && j < Pb.last) { + // PaָСPa + if(Pa.data[i].exp < Pb.data[j].exp) { + (*Pc).data[k++] = Pa.data[i]; + i++; + // PaָϴPbֻ򵥸ıϵž + } else if(Pa.data[i].exp > Pb.data[j].exp) { + (*Pc).data[k].coef = -Pb.data[j].coef; //Ÿı + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + // ָʱҪ + } else { + sum = Pa.data[i].coef - Pb.data[j].coef; + + // ԴЧ + if(sum != 0) { + (*Pc).data[k].coef = sum; + (*Pc).data[k].exp = Pa.data[i].exp; + k++; + } + + i++; + j++; + } + } + + // Paδɨ꣬PbɨˣPaʣಿִ浽Pc + while(i < Pa.last) { + (*Pc).data[k++] = Pa.data[i]; + i++; + } + + // Pbδɨ꣬Ҫϵת浽Pc + while(j < Pb.last) { + (*Pc).data[k].coef = -Pb.data[j].coef; + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + } + + // ¼ + (*Pc).last = k; + + return OK; +} + +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n) { + int i; + + (*P).data = (PolyTerm*) malloc(n * sizeof(PolyTerm)); + if((*P).data == NULL) { + exit(OVERFLOW); + } + (*P).last = n; + + for(i = 0; i < n; i++) { + (*P).data[i] = Data[i]; + } + + return OK; +} + +void OutputPoly(SqPoly P) { + int i; + + for(i = 0; i < P.last; i++) { + if(i == 0) { + printf("%d", P.data[i].coef); + } else { + if(P.data[i].coef < 0) { + printf(" - "); + printf("%d", -P.data[i].coef); + } else { + printf(" + "); + printf("%d", P.data[i].coef); + } + } + + if(P.data[i].exp) { + printf("x"); + + if(P.data[i].exp != 1) { + printf("^%d", P.data[i].exp); + } + } + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.dev b/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.dev new file mode 100644 index 0000000..f66199f --- /dev/null +++ b/Dev-C++/ExerciseBook/02.39-02.40/02.39-02.40.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.39-02.40.dev +Name=02.39-02.40 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.39-02.40.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.cpp b/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.cpp new file mode 100644 index 0000000..066e422 --- /dev/null +++ b/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.cpp @@ -0,0 +1,215 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +// ϡʽ +typedef struct { + int coef; // ϵ + int exp; // ָ +} PolyTerm; + +// ϡʽʽṹѭṹ +typedef struct PolyNode { + PolyTerm data; + struct PolyNode* next; +} PolyNode; + +typedef PolyNode* PolyLink; +typedef PolyLink LinkedPoly; + + +/* + * 2.41 + * + * ʽĵ + */ +Status Algo_2_41(LinkedPoly P); + +/* + * 2.42 + * + * ָżԲֶʽ + */ +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even); + +// ϡʽ +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n); + +// ϡʽ +void OutputPoly(LinkedPoly P); + + +int main(int argc, char* argv[]) { + LinkedPoly P1, P2; + PolyTerm a[7] = {{-2, 1}, {4, 2}, {2, 3}, {11, 5}, {-7, 6}, {8, 9}, {-3, 10}}; + + // ׼ + CreatPoly(&P1, a, 7); + CreatPoly(&P2, a, 7); + printf("Pn(x) = "); + OutputPoly(P1); + printf("\n"); + + printf(" 2.41 ֤...\n"); + { + + Algo_2_41(P1); + printf(" ʽĵ֮...\n"); + printf(" Pn(x) = "); + OutputPoly(P1); + printf("\n"); + } + + printf(" 2.42 ֤...\n"); + { + LinkedPoly P_odd, P_even; + Algo_2_42(&P2, &P_odd, &P_even); + printf(" ָżԲֶʽ֮...\n"); + printf(" P_odd = "); + OutputPoly(P_odd); + printf(" ż P_even = "); + OutputPoly(P_even); + } + + return 0; +} + + +// ʽĵ +Status Algo_2_41(LinkedPoly P) { + LinkedPoly r, pre; + + if(P == NULL || P->next == P) { + return ERROR; + } + + pre = P; + r = P->next; + + while(r != P) { + // ڲΪ0ָ + if(r->data.exp != 0) { + r->data.coef *= r->data.exp; // ϵָ + r->data.exp--; // ָһ + pre = r; + + // ָΪ0ʱ󵼺Ϊ0Ҫɾǰ + } else { + pre->next = r->next; + free(r); + } + + r = pre->next; + } + + return OK; +} + +// ָżԲֶʽ +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even) { + LinkedPoly r, s, p, q; + + // ͷ + *P_Odd = (LinkedPoly) malloc(sizeof(PolyNode)); + *P_Even = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P_Odd == NULL || *P_Even == NULL) { + exit(OVERFLOW); + } + (*P_Odd)->next = *P_Odd; + (*P_Even)->next = *P_Even; + + if(P == NULL || *P == NULL) { + return ERROR; + } + + p = *P_Odd; + q = *P_Even; + r = (*P)->next; + + // ʽ + while(r != (*P)) { + s = r; + r = r->next; + + // ָΪ + if(s->data.exp % 2 != 0) { + s->next = p->next; + p->next = s; + p = p->next; + + // ָΪż + } else { + s->next = q->next; + q->next = s; + q = q->next; + } + } + + // ԭĶʽ + free(*P); + *P = NULL; + + return OK; +} + +// ϡʽ +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n) { + int i; + LinkedPoly s, r; + + // ͷ + *P = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P == NULL) { + exit(OVERFLOW); + } + (*P)->next = *P; + + for(i = 0, r = *P; i < n; i++) { + s = (LinkedPoly) malloc(sizeof(PolyNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = Data[i]; + + // ӵʽ + s->next = r->next; + r->next = s; + + r = r->next; + } + + return OK; +} + +// ϡʽ +void OutputPoly(LinkedPoly P) { + LinkedPoly r; + + if(P == NULL || P->next == P) { + return; + } + + for(r = P->next; r != P; r = r->next) { + if(r == P->next) { + printf("%d", r->data.coef); + } else { + if(r->data.coef < 0) { + printf(" - "); + printf("%d", -r->data.coef); + } else { + printf(" + "); + printf("%d", r->data.coef); + } + } + + if(r->data.exp) { + printf("x"); + + if(r->data.exp != 1) { + printf("^%d", r->data.exp); + } + } + } + + printf("\n"); +} diff --git a/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.dev b/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.dev new file mode 100644 index 0000000..7a1c1db --- /dev/null +++ b/Dev-C++/ExerciseBook/02.41-02.42/02.41-02.42.dev @@ -0,0 +1,62 @@ +[Project] +FileName=02.41-02.42.dev +Name=02.41-02.42 +Type=1 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=1 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=02.41-02.42.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/README.md b/Dev-C++/README.md index aebfc5a..2b7c987 100644 --- a/Dev-C++/README.md +++ b/Dev-C++/README.md @@ -8,3 +8,43 @@ > **Dev-C++** [5.11] > **TDM-GCC** [gcc-4.9.2] + +## 使用说明 + +1. 确保 **Dev-C++** 已安装完毕(安装方式可自行搜索),并选择"TDM-GCC 4.9.2 64-bit Debug"编译选项(别的编译选项也可使用) +![DEV00](image/DEV00.png) + +2. 启动Dev-C++,选择"打开项目"(也可从"文件"菜单中打开) +![DEV01](image/DEV01.png) + +3. 选择目标项目文件*.dev,打开项目 +![DEV02](image/DEV02.png) + +4. 配置"include"目录,使用Status文件夹所在的目录,主要为引入 **Status.h** 文件做准备 + + ![DEV03](image/DEV03.png) + + ![DEV04](image/DEV04.png) + +5. 配置静态库位置(全局),即 **Status.a** 静态库所在的目录 +![DEV05](image/DEV05.png) + +6. 对项目进行"编译"后,选择包含"main"方法的源码"运行"即可,常用的命令如下图 + + ![DEV06](image/DEV06.png) + + ![DEV07](image/DEV07.png) + + + +## 注意事项 + +1. 教材源码CourseBook跟习题集源码ExerciseBook是放在**多个项目**当中的 +2. Dev-C++版本的源码,其文件编码格式使用了GB2312 +3. 由于C语言源码在Dev-C++中存在一些兼容问题(行注释的兼容问题),所以涉及 **.c** 后缀的文件均改成了 **.cpp** 的后缀形式 +4. **Dev-C++也可以用于打开"CFree"版本的源码,所以如果使用CFree遇到兼容性问题,可尝试使用Dev-C++** +5. 上述配置的静态库是全局生效的,也可以对单个项目进行局部配置,配置方式如图: + + ![DEV08](image/DEV08.png) + + ![DEV09](image/DEV09.png) diff --git a/Dev-C++/Status/Status.a b/Dev-C++/Status/Status.a new file mode 100644 index 0000000000000000000000000000000000000000..10fb643d9d4fe1c450f7a2738df4f42d517d48f3 GIT binary patch literal 28930 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 Q!A-@3V)ztCtJ?Pe2My#IbpQYW literal 0 HcmV?d00001 diff --git a/Dev-C++/Status/Status.cpp b/Dev-C++/Status/Status.cpp new file mode 100644 index 0000000..6e7dd50 --- /dev/null +++ b/Dev-C++/Status/Status.cpp @@ -0,0 +1,165 @@ +#include +#include +#include // ṩva_listva_startva_argva_end +#include // ṩisprintԭ + +/* + * Զ¼뺯ڴļfpжȡʽ + * fscanf֮ͬڴ˺ֻȡַַ + * + * ע + * 1. ԼиʽΪʽ磺%d%c%sȣ%2d%5s + * 2. ȡַʱոǴӡַֹͣȡ + */ +int ReadData(FILE* fp, char* format, ...) { + int* i; // 洢ȡ + float* f; // 洢ȡĸ + char* ch; // 洢ȡַ + char* s; // 洢ȡַ + + int n; // 洢ַַ + + int len; // ʽformatij + int k; // ʽʱα + + int tmp; // ݴļжȡַ + + va_list ap; // ɱָ룬ָ洢ݵı + + // ۼƳɹȡַ + int count = 0; + + + /* + * ȡʽij + * Ԥʽɼ + */ + len = strlen(format); + + // apָ׸ɱ + va_start(ap, format); + + // ֻΪż¶% + for(k = 1; k <= len; k = k + 2) { + // зַ + while((tmp = getc(fp)) != EOF) { + // ׸ַַ· + if((tmp >= 0 && tmp <= 127)) { + ungetc(tmp, fp); + break; + } + } + + // Ѷļβȡ + if(tmp == EOF) { + break; + } + + // "%c"Ӧöȡַ + if(format[k] == 'c') { + ch = va_arg(ap, char*); + + count += fscanf(fp, "%c", ch); + } + + // "%d"Ӧöȡ + if(format[k] == 'd') { + i = va_arg(ap, int*); + + while((tmp = getc(fp)) != EOF) { + // Ѱ + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%d", i); + } + } + + // ȡͣһɴ洢Ϊdouble + if(format[k] == 'f') { + f = va_arg(ap, float*); + + while((tmp = getc(fp)) != EOF) { + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+' || tmp == '.') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%f", f); + } + } + + // ȡַ + if(format[k] == 's') { + s = va_arg(ap, char*); + + n = 0; + + // ųոĿɴӡַ + while((tmp = getc(fp)) != EOF && (!isprint(tmp) || tmp == ' ')) { + } + + // δļβ + if(!feof(fp)) { + + // ַ· + ungetc(tmp, fp); + + while((tmp = getc(fp)) != EOF) { + // 洢ųոĿɴӡַ + if(isprint(tmp) && tmp != ' ') { + s[n++] = tmp; + } else { + ungetc(tmp, fp); + break; + } + } + + count++; + } + + // ַһַΪַ + s[n] = '\0'; + } + }// for + + va_end(ap); + + return count; +} + +// »سԼ +void PressEnterToContinue() { + int debug = 1; + + fflush(stdin); + + printf("\nPress Enter to Continue..."); + + // ڲԽ׶ʱdebug=1ԶӻУڲ + if(debug) { + printf("\n"); + + // ʱdebug=0ֶ뻻Уóͣ۲ÿһ + } else { + getchar(); + } + + fflush(stdin); +} + +// ͣһʱ䣬timeʱ +void Wait(long time) { + double i; + + for(i = 0.01; i <= 100000.0 * time; i += 0.01) { + // ѭ + } +} + diff --git a/Dev-C++/Status/Status.dev b/Dev-C++/Status/Status.dev new file mode 100644 index 0000000..52dfc27 --- /dev/null +++ b/Dev-C++/Status/Status.dev @@ -0,0 +1,72 @@ +[Project] +FileName=Status.dev +Name=Status +Type=2 +Ver=2 +ObjFiles= +Includes= +Libs= +PrivateResource= +ResourceIncludes= +MakeIncludes= +Compiler= +CppCompiler= +Linker= +IsCpp=0 +Icon= +ExeOutput= +ObjectOutput= +LogOutput= +LogOutputEnabled=0 +OverrideOutput=0 +OverrideOutputName= +HostApplication= +UseCustomMakefile=0 +CustomMakefile= +CommandLine= +Folders= +IncludeVersionInfo=0 +SupportXPThemes=0 +CompilerSet=1 +CompilerSettings=0000000000000000001000000 +UnitCount=2 + +[VersionInfo] +Major=1 +Minor=0 +Release=0 +Build=0 +LanguageID=1033 +CharsetID=1252 +CompanyName= +FileVersion= +FileDescription=Developed using the Dev-C++ IDE +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion= +AutoIncBuildNr=0 +SyncProduct=1 + +[Unit1] +FileName=Status.h +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit2] +FileName=Status.cpp +CompileCpp=0 +Folder= +Compile=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/Dev-C++/Status/Status.h b/Dev-C++/Status/Status.h new file mode 100644 index 0000000..205b695 --- /dev/null +++ b/Dev-C++/Status/Status.h @@ -0,0 +1,46 @@ +/* + * ע + * ޶Ŀİϣȡÿģ鶼Ե + * Statusģᱻģãôܶࡣ + * ֱӽStatusģ鸴ƵģУᵼ̫ظ룬 + * һ̬ģ鹲Ƚϻ + */ + +#ifndef STATUS_H +#define STATUS_H + +#include + +/* ״̬ */ +#define TRUE 1 // / +#define FALSE 0 // / +#define OK 1 // ͨ/ɹ +#define ERROR 0 // /ʧ + +//ϵͳд״̬붨壬Ҫֹͻ +#ifndef OVERFLOW +#define OVERFLOW -2 //ջ +#endif + +//ϵͳд״̬붨壬Ҫֹͻ +#ifndef NULL +#define NULL ((void*)0) +#endif + +/* ״̬ */ +typedef int Status; + + +// ȡ +int ReadData(FILE* fp, char* format, ...); + +// »سԼ +void PressEnterToContinue(); + +// ͣһʱ䣬timeʱ +void Wait(long time); + +#endif + + + diff --git a/Dev-C++/image/DEV00.png b/Dev-C++/image/DEV00.png new file mode 100644 index 0000000000000000000000000000000000000000..25ef2748fe7a8898eb93cc734c9491fb4ae8096a GIT binary patch literal 1644 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%0D{Aso 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 XnkF6g0UpNZg;SJOlc|vU9Q=O(wV{H_ literal 0 HcmV?d00001 diff --git a/Dev-C++/image/DEV02.png b/Dev-C++/image/DEV02.png new file mode 100644 index 0000000000000000000000000000000000000000..5dae3c89afdba1dff617fd4082b4728352c3fab3 GIT binary patch literal 24629 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 YK~VQ;==(6x9iQNZvZhjrf?4qY0NLjNNdN!< literal 0 HcmV?d00001 diff --git a/Dev-C++/image/DEV03.png b/Dev-C++/image/DEV03.png new file mode 100644 index 0000000000000000000000000000000000000000..40e0ea14be39dea81460716865a362b563d80be1 GIT binary patch literal 7260 zcmXw;bzD?Ww7^jj0g;xL?p{JfO1hC;VacVISUQ*P4nbOEDM30Gfh84zr33-#ZX~5y z@~yx3-XC-4bH8)$y`MRA=FBS^!dj75gW#Dd}Y|G2!1E6m*t}K45nnEK}F}f8tO7d%3-b6%>pSb;oM@){uDzlkZLq!^jB#LL(Q>FN z$m;v%?tjvZp?jBc7(78W2%3HozCbbVN4v|nld&=DOMvg^=!D}`O)>Tewu0sFM}?%G z?aMcI4!5zZkh55`eWP^lDI-S&`m5hIYI-_nFeBlGD;ajNUf%Lp{(1X*n;B4W zTRsw5iTp#Y+9oK)(r@KNln_j)Y)n@w9cdKO8JbP@*92~L?}a061`@!QbI6Gw<9V;!J8~`^++@e6ab|yeQjod)&~-IlnuG6$I^t(*5`EWe@C`w)n~W2NV!@wYl{r)7wm=xMP?WRz{LTUA+b4=|0D+9)H%hHGs+QsvpW zGLCWHg2fF~EyJc5f|6xNw@=EHLQqYf&$6wpV-?i!;^VX2lUH)g!q|R(bzrfzk9C9P zmff`d{55Oo9LL1FX$G#gf1jBR!XKrvJ_;6z=S_ldxTAxgYb>aoZ?gL{k?{-AGvQ{q zSFmPDlh%r)r)VrNev+0WRsiPf&ACbehA&e$bF#Z8PoqAw#ir%3JzAfmphTrOI97jC zF&bJxxoU<>^1s(DEG^}6WMt1WYNk1N1CL!?fLyKs%48`xfc113SGtf>Pdus}th6%vz+yv#a~QD!+7mht>M z!}uP^@>B_Phuz_o$x#61dpgRHv_4Qet14-BaDR&4PxVyZp2;-onZyWdwff>3oj`LM z@rgfr_JtNXM-A@JiV2(63CTMOHJ~sE3MFow0q-0`Bn-0O!-R2@2Gt@!j>Ty)YpF+t zaboJcs>qGrMHVN(*U5yzHDm~@E`Nb3r0jH*qU!VR=fa#XqM*S6wlDlqwy{saU_h0Z zvB`YS1h3$D4Q9rCohMJeO6fB<7@RkM1L^LaI95?JEcwOXk(>iWK|e@8@l8`n85}N> z=!x}}K&?2(H2FZWuO)s~Oc9{6l?J&|OVphUy=J3&{;))l>9Gn~`ptWvZF5@qnJ^)H zPrc1FGz9C40h=^5{WcF6v$723Xdlfjn|Bf7oiM!ZlEFT|rIb1JSZ2D6ZkvNljnX8t zmYo4M7vyP*vo=*EzbEG4dpsQtdBwjnkwx{&A6dZsfs|UY+pnCwF^O5FaS) zuLL`*o3H=fZo@O9jI0X#I>}hlEGcbTL80orUNt&D6&F^X!cvlzQ)?-+c-f)O>LmKTgLr*wC?IW41qvRY9YiSVN&zlSW!4O6L4jS*>_-J2uv-j09vfRDaSM zDqyxZT}!|r+5d5I2!x>SyqP{EK)-n#M~cCh9L+ZnVNRT? z7p%@u^-j$ffd$8kp5(-7aDL*b5Df&M`J6LM5|5^z(ZMwb7LEqa>!qemC z3>KNzm-|08JXlRE9j2lfe4hBML#8tVVF&C1yD21_T6MHtyd5DawDkcYGc!Omi=05y zHw5gaL2N`tw_;!r%$5vEhV7wbs;|@Q9s9c0W&-K2@BBLr2ZjAkp*K*Ur?*S*8Ut~= zPKZ;>Iv)qDp@a(w_W1Gd?**EDk5+#@zF**=4JSJG_4_-WpK;j}PdRgW>l&HVULPrO z>}xmk{Vsmj1v=nxzR6XsCDT9j+sW2pE)TpSHkjMGOXs)DG1M6V|M4!U_AnSNG9s1% zOa7qOlr8?3Y%>_mDy%5JfxZyG*c2WLUN=L8_J>1r{pw*$RW($t$3JR`c4x4yR8xQN z%onzPvAemsmPx8>Y*flvpw|8!WRdt$j8fct&+wgrnd6NHz4hHUAG*8+)WjdSd!cfy z@H+wym+vb@(ai%+gd>YhauSa@WUeyMH_bnkiHBpELq zEskzox?kB-Yyzo1w!;snQAjcP+5!X&c8>gkXyPd#kk9l&6gp$pZnIGGkJ;{|6QRrI zEWHI;7ac9_F7hyzBah1WF1DXT9KbbwxjEAIcQkPEQ^}|$$fO{!XK4K`?82yaq87YY zUDYdA!q61GbQM>ZOt8gHBozFu%-wXJ;X4-m=sJUjE6oSHJmtGC!3z&~t96Pz#v4obcS_i!{{K`-i_dhpQkM|#6O z7^sKS{V&`Oeulf+WY^K3h(W5UdR-r%lfPSjqLb;@7a$DL_TRgz z{Qv$8+(eEb%lva+J?3zc>c0s+eAO@8lKIepqG3HV%;%)Zbi#i4WJH?KN8+Uxy|vYG zo{LQ~XH_IJ_&zAVGkGQoZG`I5q_+<56!KWMuhyF5&q-7b;XsobX6;JOea%Vlk(}as zo!K95BJ~$y);!kkxbpFOA{qj3l-{lK|7QNc_s+L*K?`VpkE*CM}d!tZ)}l^m*q!~4u4Ah$m|?SZZ-bo(%OA+@oHo| zd9usI+ron)ac&tM&qIv`L||gm!4Kf$3Rz5`aD|af+fj!gD1qObO zsb%r-#8*}l>{z%ck1~Rf8KbwHJ&yU2+Cj_K{4Hp`ks~(255aXD>=#F7TQS;1S_F_WYL=nAdFal)V1Cz;qBVd zsb#)k@L7d`@&!OW0K5Oy56NpxQWdBWT}ljh<8-Pj~KP> z<4EH~$bb#@aWPg2QO7R_#m;?6rUntA=il+gm5LX@kLMybd6G%uL=5KW7q7sjhurt)}zNPt$YG$OaQ2_a0`bD$ztoC>iN&$GjON3|)Vq=cVvQE<@E1pRd19 zLxV~-l{+F9FT6Rf+ZZ27PvNiKCyR;TUNgtc$#j;k*1aa@kqaA=+GJYJFERr5vWf;ka3Z|IPOGVP~oDSz+Sg zGzD4o%b(Gh@8lo9_}ZHv+f}v}yH+Ig>NvmIJanpfv1NHN8k?uOpOb&fDIX$b= zLW$-;kD?M{S5O?X#W}-CdZge)gp&;b+L9ANN~{JBR2>&(n)$`9PCR{wEfJP9sw;kH z9QRwtC%$!l$pUaq?xGGC_GO1QT5%eF;GhJfmL_>< zxp?NobQMp1gV@Q(wF_^Y_)7SsnT7Bt7%7-?9lcv9LI8|7InuFdle#ojvSrcS;@`~b zd|vFqb}1_#H|*O!DNq@gOew9KsHq@%5lQt~5S;SGj4TqsZ2;6U1Vn>gKcfz19H`;Z zF8lKM{H@LY!-&}sLMBZe`>_+9V%_c(O=&hV^H`TBkFEi8p0z~b&%=J=eaOlZqzG>{ z%^6^1A|rlIoA@0!w6E1J0yow`DWe5~ub)#euh~8@a;QT=?Q#8?jD%EGg?CR1);LV> zRl9|&$RPha(s2PQ_Ffj3htAj}Zj$}bu8D7xaYxUhbQ)tPz4^NJx?o^FW+9mUVi2-_ z^Y{Sgr82i=x##ETEx3=SKke`Dcbu!rLEd?x6do6^ry1yG*UyfS!Hr54=q$5@yoFwY zs=o=WW|(bRJV9_iB7I%Cb=TA5M+i3G_iqdj?P~KqVjlFF>;qm$2O~dJ9Zx!<8uxo8 zlV9%B$W-jk_XDr#5zT+SmTu`s1flWC;(a;ZMX@ctP5!*;oaahC9c^oEj(_BJ%r5R! zD6RH~&n+Et%;Ny51Z+b@GMBYCyB!QPRRA@EAAz51cM8iprUE9lX4IXOLFF@w_9$#C z3DAf1@ttFY{;U+OD(9F6xGNw`h0e=_E1$}bza`f)CXh=)8e|^WH5l`!bikS z6jp>?K9$}61Wv*Bzlue*6*EnSvDTdkN@VhqZ*y{XR?6kSjyZ9&59gn{B3DV>*>le# zeX}W{K?hWS5#b(1?Bl@|_2+V4r_ns=0Rh)g*XumkE&)T(Una6(^>>!#mT6xgyCx{A z?CE}roH2)&Og49qm6(*gKs{!j$;KaF4e@CwPI$(i(9^`x zDB_U!Z>Ci{m0AqII{VzLag`#OjVU(zaYD$6y`mh;fL2mNl+c=!g7SmU>rZg+bgaMh zj$}6trv=%p7&}9uwT+Fyj<__Qc0o7&m)u<{bK+@{G8w_Lji8^U=bO(m^kV~LbDpbS z$O#(<1-2@+I0h9vJ7@bWu4(c2^p)`u9To1a)(Lc67M^{t{>&SJ?C2Q&Bw;|cm!6*9 zVS{lJ6q?G|AVy6M@@WC7zRaDd5LY@yD*~lxY*2v$WUb)%Po*M%ghMcvP`}DHF|g*3 z9a=Y`L6&Dh9bg%e_CC{+0Jo;jX{9dHJP3Is$f@YrNpYzypOSP&!u`O?xaW14f`eR< zN=(drZ!9rx`g`usBumRCZtR_^<8npl>icpgGeb*bManEwv$z#%joordW7934&ep!e zAc*lw&r(m1A`l2PG&QyH^7`ty*GBf@@k@853`P=_nGyerD;^2Q)d3k>!O zOVZ!pQhA5wpvF}z%5NyAmMr$3gF10^qrlX)Rr!$fg-v4qcHtb+h`=KzOQlqx@U+b3 z@}ouA)=)^%`6I{qHe_F&l?3@29~^L?ra#5(Y|T2B|MgAD!O=smeW(|sIZxh*`_cxq z-J4G@u*QYAKP`Ykz5lp$y|rLxfa{_YliCptN0j6F3*Qh?*BK|F(nQ!UEtX^|HqtxLId1PGcR>Dgnq^4E9Bs(&llJLT-^|iUZRK_?ebVF z?J_yM$YUnU5T>ac&-&o|yBx+j-0^A^a>go7s}xZDT8Ymvi&fgL)qvz?6eq63M1>>Z z$FJ&o@?m@>GUa^oI)Aec{VYK_%klkvPz)7Q3Ui}lVj5P}s9dV_z-C>jrWfUNV0~W> z5cl}MXucXyVgl#Wm&%Q!%3>HvEXiPuA1RYtU&RvCsgo08pCo0AKZ%QhqL)ONW+tHR z+HVsaVyyN*6uzuwi^rQ(Yb3D_1w3RLtn}L-iI;!);o5FEv!V;@67r43_I2svE!WN>YCs{m#OSCcJYmO{A%ZDN3K^)N2 z@iUI-uc=b~;U!@oJL?bz6$5rq?MQMB17&g8uu6(`F|tRGoi(niH-Wa9=U2#^jRWVz z1$+_~wz0b-5kZBD04Gj!cTUgI$U?lXW|w!d07e6n(}~2Y87_xJrP%{`8+g3p^S*p{ z0(}*&j5AB=R0nWD@dY^vPpZOfM$7Mr_T%K;7+jsG&j-!~$mm{1HaT*VO~3hX^pP<~ zr={sVCPqfqHXFmskD`k;4);z+ann;(KmL{m;^`XesIuW&r5Ga|exvsJxm%nPzJn?` zyE$ot1o3kjO|-&QW83>Cjp?>_kIWk4y6dQKSd;J>m~DLnSd&cio!HIbbxmC(sMG&F zTmK7r2}F;_E11%3jGW*X>Qcs^zY2ykT3A^X0R$b1u}wOIKBcEWH-q)OHNSv<0(S8# zpzp2^AN`&87@0VyETl`T>sqr{ujsLxsxgN^p_TLJyXN;T-a~?6&>?9Y?_N!5@DJwP zq(h4DCxacGi|YKZ`3;|eUk)W4a!Ph)hDQ1|#scF<`OVr4PiXzoIiJFu3b!l9bwV=m zx(^!axsSdi$tiP2#?03_L%enPq~cz{+{)O4PIZ9r;lrzT5#DsWn*#CcfN1nDXiIn? zc;#JXr8S*|cOCSm?PORYyk^^$YCPqZtotj}?it4fS;6bW1$3720CoY3ACWtrzVeE} z!^$Xo-whq1>6uz$Cdc`6VqJh}qi>c;L{FOS8shcPZUbxJ8_RGmy3-=FvWWItAC z^Ul+JI=-Pp_D?1H1_zPbGxj$G-v8&X|2g4U$`T0cQ5VMCq_3+X)_-SwFl?k_mm1cV z{C`Dp)unP1uAa~8nJ*1$85&P9s_JU<{6k8+bT4yh+vvCyeSd5`d~>q9z!7*YZY6X5 zqj4dBYt;HLYm$rY%G^ln%bLaO5%=pS?`V z6cEwKsqx5d^a=>sJyYwacTADgBrr|CAHTnHNx0o3YJ=ZA!OTH^YPS>xjSoQB8}11$ zm`wyo(K@gBovz-jc290ZcDw!7S!is|i`V8XtFSKDPJTVMBQC1rCZIXBkg~;fb2_jw z?HEO|iP72g^z`y#yT6pV{9{*9Kplk&tw7YPk^%1wOv2IK(%>eLs5WTRYRW_5r9kXp zoxKBdg|QmgiaLA%is%rtC5@}uYKCQ54s8*ic3c5%?6stE8(#W21g20uPX^c!f zlBwrSPxrT8$u3}B4w~O}`78yZ&?j3De6RPL1}{qA!Z!~VS|8zm?bN<*^$ah>*Dr(u z0UUWG?>TbcwP%j(#JrJD{j4QAizyP(Rj|5&c^j0hz8Pr|Fly-8>OU#dW@b%#rrX`U zKJ^8!Wh7Ai!g5Ki_*eMI+}O!F8`~#5+l!>ouDvOvyYo4h%)_^EX{l}-e}(ORjZlbX zSFNc8kk$&Z*U~a02RnZ$hS+N)j$o&tVH!U;5%V{fIF~G%diSe|+a=C##r^IER?oY3 zgFXqkIYRww#;vqgf^sSAaiXAi_d;ALz0Yj5FE)zRRP|!LuSKG{M}V!T^KX^C=Aw^H zX6EyEeavsCE4F4HHIl~`)u#S18kAOvjQb&^l=6NI?WLZoPZFhQqCtDta_&fp$;e@H zda9|<^vuixcg(I&IJ@@gu|H$a_HCBe9eSMec-Q1XE~sBG%MxQ(R#w(FH2glv+Ssts zf=k~nYp(wykJg*Y2nZ*ARsN>(%s$gZvM~v+%Nab zy&upYb1zoRHP_m6j4^kls&n`9;oV!(*#DyJlcxPgL)`~lR_8rS@vNlM36%+1xx!5OBsYFHL9p}7Jk zNplxdXKP1SYX=AnE;8i@z>e~2mvC_Oa<;a#a)qhD90mbajQ_08=HS<+6t33x<}lnh zn8?5rH+U}tj}L&ulb=BWR5ZtY@f2L_rt!!-V?iwDd|uV!tqGsGHV3G<71 zI~=ef{?FgLIh&fpT)hMz{BJV}2YY*Sh%3zXa7rg&LwIfW$=cP<9OlRI1RV?v1&o}e z*eB1d!*(BEk}bcJmw(en)bn$wM0Od4`P4I2bwOFUe91^G_83mA^vKa0$*3dMMuTz- zM9L<)S&{^)vM68c6Sj4l`H`*tjS@co*6Sxrh{E%o*jC3W4Rt}WDl$y}OaC`8wyQfu zYvSMbBZmN#3koftHf+efIpAiqw#@O$v4o86-1+Bb+E4m@;Dr4mN`Zx>1&GReGX%@xf4ab?3E`K| ztc+nA-bWmMB4mxVniRIV53*na5PE=Dp^KkyVqNL%0_Lz-^?zVR0 z!9hLr=g$7e5M~#J7|Rz5zk5@!M?;A_mwOcOQ#RT__U{Zlr#N>H?C1tClzSY1a)< zZG`&%a%+Pmf5=!?JH>pngW`2jSi^*wBYhewLYn8dz`vm*7MU7Z1l=SB0{c6kOBmB= zIffj(l`cHUsELlWDzpRWB(ga&&IugqMx-?=CaHtq#q9SP(^hM$XcOHkaSBz)@?DxL zWBy`{?}dNPjj1Rnx#TX>YSaD0^t0hVC(`#Mst6C%&pv%C;uE==(lGE@CO_LuR2gL$ zH37%DsqqI3zXLbZOznW-Ki3F* z3HVg#xRQNCprr#>oEtA?M)K=&ex{}MdQs-10S-GHYK;g7sl^Pg<&WxRe0ML<>GTu( zu4ajhIldP^zC86i&t4*o$1tGe*rS7GeucZRsV~@1`fT?6`*!7D*2>2f8C3`LXdcto zJ*j~4b~1{f4-RGTZ)vnmvC_~_0tbAEh1*MfK-xAOc&?(9C}CNi2VpzpGifd94qIJG zBM)*)WP9bIOIP|>WD>>c9!?va{I|bZ?Rd!0fBB>+;uYiZ#-zf@gq=FtiFuPL$9BQf zOIu@&ga@D)27>1IMx`+HO7pbfD-RB{+O%Yi1uNp?{K;;<>jz>~5fgc0k3@*?tRvc` z*nghYLAyM*E$7*3RyAq*lsRKj9$`pBaKXN8uhil++)Lon1)J03$Uwm(Sn+rSQD5lb z?t=WzJu$PeC8li}sn*$4GW=KuIq49l@vVz(u!^ZFemym#HvbcnxGtH_r5NC3^`*P= zkua9`Q{J+OjhYrFeJw3{F0!)^&2uKKb??T&O`qywi&-faBt161mM+gb*vzulNgQNm z768Z2ev|1fa14HLQoZ)6!&e0IW|7Qd0R?Ocs7V!|d5}sHk1Brc=%9cL{Hpox5vJ|={(vbP^L11tIHc(Rd-a6=KUdHHr~B#uUnAypb_Ghz zk+mj&M6&q)ChqXa)VLtergti`88k(FYugsx#S!ak+c;+mA$3nq-6J{czSjCk+-?kJ z$sW-c7k9DYnF@WxDCs9slrK_yNedRu9E@A*hmh7XvMeca&a_?XqJV+LG3szRtLdWfJWnm}6}CfdYWG%kjO*-wgyFS16T z(0?QIp8U0piP!{JPkkfYdLx}76hibm6^;qvU!LJ(X%c?IZAUG>2hN1_^1h=)6M66| z@$PUe3@m=Ho0g@(T*_|yyXSEC%dfy{Up@zcx51=Im_@j{)@G!&<0u zNyZrsUM3@)j-ROtjIazgfBC}~OmJTo=`W}#w)0jJ;d=Gr?o^Ia&}M{+thl)-91e!k z8%9s?5{rV9EHBHKn28XFGG08XvTz7^Yn-ixsQUl9wH8Ap5^6|25e1VliN8iI#-N+* z9ej5D`K3Ll{Ue$*((jvz^)oCg6GzJpdpZ+G^POI9vSMAAn#RA0^jRkMXPFLSh{5>F zO#gYnet5`4*z4SEegjz2MuuidT^B(?-HH2VKyS~8=Oqd^>c8tZ2p=|L6u{jbzQkPg z*~9W5Qw35Fu`S7c)n96HlOOFytP27=XD>- zaS0WwUtiuDeZ^Ut!GVQcDs1KDG`dDZqfcMp`c*3Ablq^dO3bI)y)3lo)Me9S0j+c; z03sEIBa_m$H!D;(1z&7v%Xz`!$vD;kLpRKTC;BGwMI=|ynV96Zs0#7?!%|0H_&uf_ zZRQBUsL!VRKe89R&SAvi0g9d4-C(?KdD*Fp0Xl!VR$j5O#rU6hwCQUGaU`71tO~4_ zkC`Jj-x5YF<{t;>`0fULeIv>K`M>ttG3%1jlZU?aEK50`+2NLu7*PKB@|>8v`E8MH zvwQI`;_7CJ^Pj8S%}C>hjS-7A2NmaY2lBORbP?*3R^Hy!n<{!0zEvZOLWG~OJK!HAcd}Fu7TO0k|y>#7!c{<|Ik$X_x8au)kkcfFI zA>6k2;dFJ#cYWj?XL`4_ND^7s!?VNJfs^6w)o+Wur+`1bLy@ACus=9WWUf*e}UE@6xl!y7Bj6D3*+1d21Ssuye`U~B zCdt;Psj0b890h$Z4Q%W1@O*M5iVG;4Hd~oV%a~S!c~}BD$LEHS=)Sv^(kmpM$1kWK z=HHW=u=k;@@6jle=Z*}Gzh}SxIh|m?w#Yq=Gx-xNx!<9374YDjzb7J>?w`>#IKeT~ zT&s25e&MK()Ms;uuz~?Sxd~Z!*v*%C8k>Jcsng|&UuYA5DH4#iC%#;%MUwBsL*%jl zFrbcWC^rW&O_6H*CY5gD?JX57dG+Fl2A*_?VQ-gyY~JbUYpuRbU?}!*3FgnvgBxqV zGi;+wryc;Bw%&FBCG>3E!u5=+_FuIfMgkj6?@GP>+~Go^6>N#H_yVsF;a z)}JkBGtPI#B_-+U>6FRx-{gxvf@dlM8$CE2mph>+eoDRvypBC@-=Zyj?`sGq{iSjY z$ty)}T6;sb3h{r8J2`tI)&3Rt=J_@=K>GWht^8?!hUXz}G1~Ge%v($}c9_#)-aDsb zcVVApI9!o|uL?Btmun~EBX9=S7&whQ*sIQvmw#}$xTlYfLBwQ4t6zveo0#NdS#nCT zA`V0%(<%-qS^gbeyK^|V^eB>5rk2}+tbX}|*z{(V&SUaCeo{Vb0Izw-VaI3X#Zhed z4%wse@xx^1bDGB{gvEe7)#c&F-RcGZR0X(TS0)ZLr`5Y`SYok~vDq$9&hs&ScJ5VlK6wIZzqV{(RvG?g*e ztD&FoP3VDah|wkEP9ep-vL_YDhQ2$imwwudO8_#B@1~>ewVLJgOJBD7TRk>_?NVym zhucBDezHH?sNF(j2gU{lk zWY-5iw!iTwxj8u&-rgCdr3|+NDs}Asow;rYGin+d5=u(w7~vA-Z78EGIlkuux;>AQ zHxOoo?Wn+r0P_uF`sjwkg2}z#Th3~RhOt9i`NhT3NYK?b(G>=Dwh8aw9u({@Biysh z@`6Q-uvE{q9K8SLe_3_rL?N?%ancHWj@36NlrV1#3td|73tCBeA3st(BRd_L$b zE+{a)#wAFXaxq^#aQ1`u%wI)Wc{F*|w)PB?o=>b!*`3AS}ju=a7-dt%*AHSjSEB>ou z#?Pqe9nz`v`jW>Ee$i^HuBuYT4evEs=Z${9T-#s0b71@e3ZxpnXi@=c?_@0~nFXdYsNK_@i7nYr zAn;(cRy)U%)d_+7HTekPd2$GYlt}x7bY7ur+(fH6UB5fIxt(@<$_Y!mR{lr%6Vigi z_ryahP~W-iOa)Xg;gitYoy@U2u7%c6mZwUn76qf93|tTtecEq1W@I9{(z5C(8`vLF zT&3jrr$f?(7Z-b6qy1Y=vADKVbiHFOI9>d;2fr5uR1cNM02p?@XE+&sgdOU^wZ#t3 zMnx8m@|oo2mVlUocKx~9qFJ5KjSUkm)v5o+wF>IF7Ze-H)7#kV9YD~4r~ zron2t#J6zGb&4RG#LU5O>7xnh1K+X-C`*zlzvaG^J1{FC{?uH)D}V0O+Lw9onxa79 zomc?LcRJA(#9#Lu8z$>27qnkq&q94>ne&*CwXF?k#_Y{sw0BHTNH=ugsrbDQiKb?u z^XFC~Pxve0cbm}M>^o&9H#d;>r4^h0e#2jZGM#q)>)7sH;fAScHOp)5G4V42b*hp1 z^Q09Aq?OJ@P<1vA^&qzP~&U;*3T;Cmmm9?{eayHQQ?MD1X_K9zJWMm|K5eE;C zh3=fl10R~K73*PF02jnX?0!C5u|2S1Z~SB|M&kVUQZ=}AgEzW%S|~G~o)D}dIj(g( zAkQoSEelP*AF;DYQcFZ$YO&=#JmAJlYk&BD)rVqVY+4Xgn?3@CuckIAa>C~Tg6?6i zEr5X6&X%e2a&l2$b?w>6kl0xl@5aUNAa-VEbC)BoCViye-9}t9m2jAUXOi(M`>AeQ zkr8{_I9?k69-BwL3?b?$fy4rDs#q7}Dht4vmcD&C=h~cm}VASU>#xQ0m-+ z3d7cv(NX0%G9eqRoqqCwtOA+%iTU|~g?igm>LaF=BArq11Kp=(oF7Zce!G7upRbCq z(3W-QU;|8Cm-pj^Ued2zY+eipZ~OcDklOdEiAVzSD^BBLV_6K6F8*wOeUqM?>GOHI zrFKX?;6vrr!|oAjk(;(qL3{gUCpi9V{zVC46)ST{rbexPSNR0{51qTl#*>XY8if+0 zLpMk3)5VG0OF@AiRAxYMM5|_BJLB#3$pkmUp^f>H#EyJ!~f`ZkdMk*ldpgRaU4RIQ{isU|8$WR0ZC>_fqZ%mRG<@XAB&%C;Jg zYll(&7MkCM0hXk00`WBuyE^dgDX~?D_lB)jMaCQmmLryt5Bg!IE-h;K-+g4H<4JoC zAq`~c>^FkR4mem@2fHjgMRiFE&Go5Kp>+&wmXAYj#%8)TX)Zj!ikoV*yCFu?1TMhs zC#`?uG9|CCr*FO7ocJ%h;1Zfykg|}6q=${5P!{8;iBmPv^ig{6=qP;Lzu^b%Pj52? z(uYCxQ1u?6g)ysgHy`hpQIM2kKjSW%W@mHE-%lwjLl3qC9MUr2iz@Hcag?!i(jEb4 zJFcnJ{bl=U8r9sAb3=p!UWc%8HAapq_#N6ZzVa6~!XoCq(C-b%J&y~%+Mws6ZUlmMv(|MgUa6M*kye;;vYiA=&j4$NFz%I zb*6fOKu<-eHGZ4rdfcc%$K3$--hlv7wYlX*Nj3< z`b>Xzm@jYidi6<^*}RiY&*JJDCO|Fm0+&Z;0W3Hy8KbQ^gfE76 z`k9r?4by-fT%J|2?M+l9Qr_O3i@k)*2YKP718-J%+d4_U9%{PekaXU=vzd&Uy4rw4 ztMuy=wQKuQ(_CwZ(zdA+(BShpC|k45^XQ7X7Z{k~FN1>ZCU;zc7LBaqvTgNRGYihLZaf<@##ipgm5OCg0D=W<%9lwe^_J|ag zmC09>ec-cHqm%Y}Jd3~Be!St}=I))E!UJx|whtsT-Om~_h_v}tbZ=}sWC zl@bwXBr#2$@y{lYYIrE03Z4nqNHIS{M`Bzbpv%QO%k4R13!!l`KakSXfeUg8*18VR zv>wxLU))#y$V5r7&P?BLM^GQ}au^qoH>{sF0 zrgdfi#{&WMR?c*^z_n%Vmwjw;7Az!2^KoX2cJ}hjpK0(rs5azinn|HpsBl4dwN~8# zRB+@YnX}_jFU8Z)(3m@NryLG)A=6E%kJ`Ju{K&<{Rj6K?&km&es>spXgUTh7iYh7} zhB$!-)QNIH+Y5wgg~BLjP`1$?Gcu4XB=Ms{M=Sth1>8uyL#u|GZ@}6Qbo83-m4)IX zjk-BEXU#N1LtsA52hS@c6T zZ93?;1yoH_Gqh*z*OoJj+drTugw!GPp9!G=GaRHoJdj*TXwkT+^r&D=^&gOovJk|9 zk6-oed3;{9;{hNRYbt8vV(jGJRD}h148U)tmFlEjRoR92bZu@@@44z7?B=6Di3q6p zR>pnOrt&_eD~6?~zf($+>SqHy7UiWoOw0>m&e)TUs1;QeUAZi{9%66gKz-G>w1x*v zv@Fln7Y7dATgASXGl7U?a$zPm`ZY61c|T^?gKu!yA!$r7ziLX!`vbXp(DB?pO}D?r(7aeq+U2_ zUDf&G&yr;`UmZqi0GyA{0CxPWHXaQn10XJdJOQ8$gigx3s@w8G8O2!U0Q2!4yPH{u zAWNAJz|H&nHa0e7JDrA)sU!?OeOeuvkF5IBx#1#`N8uQ$Durth0PC{uUqI|cp*etf zwrbbaG4T%TQyAVkRsz7;_Dzz|0)~ta` zh|BKlQcl)vvpbbvNT{ntxkykID)5p)M*H8hg;{En*U<Z??7L9`g6b0^p@lV@5IU*rZOr=o zL}H*MCX3#e!YI)|S(%^|ptY|nS{yF2CJWukd=XDSXAI&w-MF8*Ebkc z>4dMYd-w0(*Gcdqvg2g{^f-&5!$V-gNgM`3f9x!$@Ly#LM=oJM5TGr%&<9pBzR76| zl&8dGVPTPn7e~?6RxbRSmtPP7=?n2ad>1eJM?7mo<}1z{*l5R0%}c25yd96-hZ`qN zBfjXyBgyDd>w>X5`Y}|@ zlwv^Wnf;-fwh_{UHIAIG`#IS@(7pP&PBcVT0@H`aXeuW6e`^7*c3}SfWQ2?A#lFVC zL$0KKWD%l9@xezmSF70KTRTNM@==u9`Ge%-dkdmM)4|I~pdSCLs@mk)G*4l3_5tT3 z5x(le;@cx13x>j2Ji_x0v^t;Y6E8J*8f8A_wdo={Ih;34p;vdOTTBAmR_ijsD>_HF$e^mJO^MH@px0Vwfpxw^SLei*MRsD;Nz} zgd%;VY--xYUcldHU(!D)2g4V;FPjUv@-_fLP-d-jMp|7n!dxxiCYBC8c?4U22ZxTkQ6*`!-LxpN;duh0_S)AHxxe z4o}4d6?IVlVl!mns07|v91+S;KRKN5hz1b|3bj13kX?%4JN&XENa6UmodQR??Q)(1 z3AZ8Z?+KAv@S?}+Hf;hIKYss&fFR%-`1>E36*+x2F~gL&ibRML6u(0f?!heTK}E(I zDutXOX^>)WzZSEJvq`gbm?z^W@}H7~^F>nSOsIEpl&nYPiVPs}#H<->(`e+>QE~_( ze+5z@%n)4gZEOU)-n!a%Qw~_M90rD;gWsyxB!7?O46F|B>O#2ozMfzwqQqKJi0+q& z_yfB%AEjCPSZ+%P*`xgS^?Q$}kc}AQ(GiF4Hz#T7_pS)eS#WP4GyV!8dfvZ2KVkem zzM2sJ++ivGMd`8*ues)pwDdX4H4U?#DcMGd$EFa*mxzJ$IIO?C=(|<8a*PM=@!^@s zv2|QO|89qTduUQ`2d8A#nw1{RMEq+7zaXB+?wR#+g7`??pDF*4uE{>{U3sAImec~act(+Ffv)AW10~L1 z?U?g1{-0k_N`UjH{o`k>E*0K>UWpVoP5sm8qVV^6zx@|I@J~EFZ&@Nx%oZwp;#OXg z+8e4n<J+dJtt&z-ru-p|~absJX=T%U11UZ^rKd?oB|Gq-j0 z8=E|u#b%&k7KUJWa(mR|h?;#Ba%nUAwaa+pdFrXRD@UD#q8th4?j^7{lJ!IXC`&0w z8Le#lo1cmX$rZ0k$w@mim{g3jX;CR0SQ8a5@l9xEa#WHBIN!hwU;k**K4s^RpQ{HZ zZY=ltp;+%n$f2OD<%f?5jpM2lu*SdNb*zKC;gD8oPXAJ1cjJ2m*{;ey`&s1`N$v6H z%2LB@2#mLVH*$NuMM_?U@N@fq7$=-ag!k{08vdr_gmA{l+%ys;wvKh1TyGjKdKZYH zyzA#6cJ)MF^6v;kz!CC6wXZPmJ0atUZ@eaIN0txSrqrZaNaOC}(ywzu0Uh-mz&kuh z-0gfPMr1lFDhXOsn)pY?j=2MCznd&Je32YQDrok;p;(|qQ6oqfZ94QrQhJl~A1Fp@ z!oZg0(V#_c(WFB^$d@OzoiS;3?EZ%bP8a$tzHqxDZ#b`R z#fI+PSRLA1;i14b#Am?->tl5zA5uThheQ4TJ#*#n%t}xv`oH1szP&Wi*IpSSvAxd( zm?z)q-XQNqP=%dgOSc*M(q~_^LD2^i#6zeJ;{l=%8X#a?O1~8sA0Hzc>0=rS3UC8N zw(L==2au<;bAlPCb&X$Y<>sGl%PUaRQzgm5J>I~khO1z!kVxqt7LtYctHr))nH||? z&gZoGtc3NA(sCt}dfr+Z&ZGKS?MG>(1k&JX?Y5~X<*aYt=9!e`HN*=;9`u35v3>ez zAdljel+(2Fmc$xDiH#&$q+uaT*?sgDZIn_YEKkSC?KF8}T;7z!vh%NMn2Q_>OUU~^ zWLX>|2k@`x6t+qBG*}=2ChVJ_*qGt(kOcuk)Ry7$2L=$BLgpg!6pI9p3(9N@;Ix{{U@u*DL3JK9)EMX zI&dS(DTm`Z7EI@b`Bjm2O$gKZd^1?@k6A4{y?n|_53i9|=+iti0AK+81b`>#4_gUD z5a@H2Ax2UA zdOKKi`zONbRwFctq`yLs0+qDi0K*tD_#0f#SHwsd?B&mfG{!i276o7B?&qPfgSSQl zHqtD~`A)-ufVhr;ba=K^IgP>XEJ#^ri;0FoKLU$fM9S|^tw{Bm1DYE5A@A#ignzsE17^2J4go{ON|~NdSF_f)xBd0(BAq*AK-vqyu#(Br5z}_OANKQmt{I>F z^I{H8I*kQ{&wJTwA7V*s!u%Z#y0nbgs`1rL8@T z(Rb;P)C8RN#!)xq3r?(PfrP&tU5yi&09`YQ6a$ep)wT$#fs;B^)I1T&2Oz}hF#2RT z)IK|wT&3=|xpEa`Ao~@^uCnXO&qIMu?iIGQWW4Y>27Y3cVoa{h+BGeOQ_GEG9?CF3 z1W-fk@~75isrA>&qjGpe`fTY>moK>^SxmEF3pL9cJ;_gNm1Sk!d#*M?yUxvj%s5kU z{g??Xz|$qB4V$DGGX5lW6K|A+8k6{P?E!R>Vho6F-%pxKb%(F6u9y@^z-Cy`Te~i~DP#HYRW9bqWYYJ=1rP^65h*G6BSF=nW{lCW zGr@&uIamwT;!HEtfnmF%L624aB!veR()<&EGCwo0y4&Q(^>ah{i(@ZDs%h1UOz^7FaT|qAiMy^S$V#0 z3}fIOoA#js0H5I?3ba{F@2Bq%)9D2Jhm@A-Fj@t)vqU72cM4c77Ybbcur5z&LYm2aQ0s1st7qgaj5=7$-3M zQB_=Aj8HN;u=`JBGh?i;o*msoq*ud(7f%`V*m-NvJ?62ZrEp|`EBHuhBl59(Sw#q* zyd^`#J!74O$M)O6K{Cen)G)+0Sp}FGvp!C+7_ddNh?i`f~mrOb|pqgZil% z#%{aD#d@b@?+|k!&`0r8YA#YG|KN&GoJ56NW8h!QQesk;?*0~^1JKq%a7d<-6I%q| zng!+v_+U!w?R_M7)@UbP9fWk21o_+*qy*~pTY08@UdOid9}hDPA?HIQ*_NoUpGuiS zSwmg?5TK@T6n-d}-U=G7d2F5l z&&{|eC*-)M*>@euFE*pwVbGvoc~7TzjAE>ZWM-z{l;dGe9;R=!(uba=b=Ipp>HBJ! zcS->9zsX#{ju;_H@o|>T2xX1IO}W|BRstIK@r8&2 z>umUw7F{D*RessNe2Xc6&eclzY(}ALApK;a?$lzk=k}nb5uk(F52Up zfl-L{iYb15fZ?0(fU{PdzWOeNI=4{62rhAeT*mO9-LM)ru}D!E*TA(cCz=&1b{&P298F2tYz< zDqbxlRu^J)!ef@0ypAW6i}LY{v2Hc(K193Q@;;4cIzKU+*^uU@B5LL-7Ay)_W(K}8 zZ;T<@A0*b)-|b!Z@19F&XrnbVNvE#FEm!xwt%FB)?W|&JqMFBMcqgni>ULu2uH*=ng?}*q0XFZ$Jzkby5 zypER7a@6s1k_by(idb9La3Kcx5Ln4RL}VB=3{e-elkeaA8{5!Rsb$xws~`w2n8NIW5FFtER%u;jUu*$5tBwLZ@q%rAr+ z)n+%P@x4Jv=}W4i5H(AIh4>0~J8xNVAYU^O93OrpKyK?~(yCi3WFESN&#QqZs^h#r zJfxnPkrvA=sH^YYJ^Yx%Ay`3ZB4Sw6k>E6%>6!L(v&e6ZQ@GtTja1%8)(O5kq+AZg z3r}U_mM@r8{)!Uo9UTS!!Vf>v;Fx$3I03~oI9NDoY37bfKAA!U*f$%((+S$O@3k0N zr0~tmH7J8)jU<(JxVbBW(IORvpXw|cpi2oO!btFo?4sH zdm^xBQ^GH`h06n+#&o5H!H9^>feD)^0!x+27vIwx7P~jUcM5|n0q3%A zx1GmJVIE66P!wQfMl#p{tU&qshiYGsfa?R^S{$=JybkbbK;NL^K)T1Q7l0Ulykr_$ z<#~1~S#AxIkrx&Oje}fxo6 z95bDL>E&JLR0@_tS5|tzGJhEIlM*kD+H&+r+#Wq<`etOhgEhwE4t%G8jV?UYWxsWf zP}^2XAAs1{)ex*}VPTP$mbRK4@JyY_(#Oa)c)R6`X;p6N!0yb1RPu5DQ^F6zYKANm zd_o^PsyC+%Ck%V_$cNUJ)P(^uvG__X56JCU54%Ky0zzVd=rK5muJ zpFf+f{m}W~x-B1%#p*-pjvKNDj9wzh<=W)vd|yusrB2@wxBJTcm!e9xP(4pdZ6 zhoY|&#|AT%hX<>amAnm{Az0BU;uQG-@k)14E7Kf>i^SKWcBZBXsjSmDviBg1gS*2b zzhBhr(fjVvT%785^%d?@ay)?Gve)>if}n!wtbIt(bGu8-X_N{)ZbSi9+|>|<^g6b=tC!RS6`Arx3Z3DnfD+f_c&V#hCk zZkemr;e0ZMWRZ(1D@C&;VYeqYD=uY^C~%P2g(1Q-!x&_G$?*D&$rBcxgImt{EGB2g z0%VqlaVS)|S!Ota9_K|h9{c{8+c##uG)FpllC+uNdM@ zxdb`$I|a?Ok)h9{dVlXgL?oT*jxNz)yXt8o6PjC!U~^V*)tV~<4oAC{x@`Bsbmy4* zyweyK{k?LX11FYRnC{-Sk6?vP=($1voJ@XQsNHc1*yytqQl02nTL?eaJ4@f|&+luQ zT{auA7Xr9{k*&Oev>bJ>M`A|d@c$}(`v$0nhT(K3!E3x`!1!?%7h>Jq5Do`GLwDW2 zK?viHG>A&fXOnhl<8I7;-cYqj*v^j?5C?0SZJAh0QFXG)$(veO>lsJ)09*>yLKWVC zUesEy;`zi_{&bDMp=Z%BK z=NP4Nhba*-!dv=Kw0P<%F0c32=QIx&R|BQi`TM4yE^FhVjc;nD@Tr_|FS&)MYcPLS52&Hk z%i^)PKrMe+*`ISRa3=!ktBQDEnQF^LkA9$0L*=^am_Kp{)KB`&6qtJ4epc#;H28dRoaF`l^0R;e0IUHG4hw3oE#okaS*Yp?Q&T;2vCr+6jU}ZV(hfi6?`l#!uIy8 zC-yG+j~0yOQr3MKY5K}CwV%qLjpgeIiJ|nw(h{4UBfyy(Ra9{@@lHrBq4V4vR zss^GGq?&OKn9cw5b16uoKQL@7jM}RCfpT8m9x3q zliQL#?RO*8{K-RKxzHu+-%MKzO!Ekc{{1FG=@uI!n@1}NoS!*n3DbaVhD)4g^j4DznNB>28RqqSV;-ny(Bk;O*- zb6#D&(p)#?6}dV)tK-=y{Mp)n8(~ZaG z#FL30-b2Zlvcr+mEeO&}i@m))+aM8q+{g#RWUN|1H=T8B7hVRRkyB%}ZOVzNE7zyq zBU+Y`4)YxqmfIC(xvR&S=PYg(nGR+CGdW+}(FP$}64L#C(sPbuIlkE(+;l8*;e&D> zyT+jwa~bfZgP%U7L?`G9a`7Ktw;^e3s+l)3b#jA&4;trpjuv=)&hR9tWO&MxY}4(+ z6g$xG@GawZ*h;r~Q)e9SVR>tp5nTR`k+9S3c=8Agl&GLxY`;9Peaucl|0>A)huHzOrS@y9-iq6hPtnn=YVM zI%82}l&F66$7b>mP;f9gIZ164ker(56N^Y){q%!tNpuzIb zZ#R(Jw>-wK47M{Bc>rKe9ismm6za6{k4-O5SP%KKuNvRnaQ>c9%THI+BMvm)qcFgA z8Qb~mgQb5z)BLCAU7+;(vr!vxU>{11H(!7983|AHTO&m-9)%tBpmDCC*u|q6klLO= zj3(pYw!2xqZ)Q%;b}!ckT8DpDu5u1_O8P2yt(jf)EH$rvB0uPfk+5Uiq_U@%*bU;t z(RcS)Sjc_=&!0L(;O5E4&pkkBM7DN9XGCkOW?NCOJ-*u(IAmDgHlRDSHL53wK}g8I zR8cRWqrLSpgpke9JmSth8vA5)KJwX6I9rM9+t8_=McA2Q6yb!%BdyQ?>K;RmQZ{Wm zQ;e)9OXm7w^-D^p&lCLfL59K{wC2muOa)MBvhLpc&Aj;sZt@-Jcx%N~e#OcB%l_|o z(xYvIDk|hV+FT``l&Mtp5kVC@Az9n~8g!>w&S!5L^@+8Lu0LR(+}?#2v1i(To3~T; z(Jd)1zI{kE^?jZ;ZL_HT%2w)p7MFo;(0PsX>@pHM1u_iFNgCq*4ZOs&g#OeH>qQGQ z+aOMS;^}!w_l-4H%-JMQtUh&iM+ju*l%Z2$Kh2z-^Euy0yoR~KXZvz@*=oZWhv z^DELUfp9d2%kduWCCxW9Zy3(<&qyh$m++&HdqzKP+{O0n?Ai6c-o#$rb_U_PufH1g z@ODPw1TkMhtRdP9BqH26pv!SIz`dHT=@|X>&YM= zQ`p=Ao!8^#&?B>7)J8MjaDngrTK$`j`^V0+xwDl|zRIHrW0obi(|g)Y3s5y;;rfI` zE@Z8+S^_9Yks?zqXA zofd+oRph`kH;Th%TqOMb7Fgyh7h~tcCFI+tiJ|{yuU;;89?N=+sRwx$!Ov~?{_mep zI?t>FYKnY!3FsP0)NddgYnMHC`j57Ty(H@dJC;_S_wR(4tw1JCyeQ~5!XsSUfkVHW zpDMIYT!@~BHQTN_zR@VRUS9P~2tBB~9O^55DK*A?1ce8mXjhjUc*f)^ccRd*``$%z zAKnU8&nW1NbbWgtZ$nd_h#8yB-|L|qd)8@bwDIvG7wmAcfa>*P?qDG()FZ&^g?rPF zxb5nXKs2OymRZVWH|z;~TcZCMS$MDzlanbPhH1@+q+D<^V|q(?sZqad4s_3 zdjReUfh{+WUU|{Va%j)J&F^o|{_Ge+P7+5*3SInObD=BoW*R?$NqMJ|#AwEM?71T4 z_?fw%OXq%vz4M5@5tQ9_g=jBWuFyK>kJ?CPRCQqdXjzR}?QlQgvow{bdhF|^4iuLF zH8e3Z)d~Mw3jo}8;|qL}7|qjeW!VN_RSIS0^ZoQm z!RtYyT#)eZwRCL)>OmO4krUI+VOvGBZ4vP;G+iS_B^xgS$l(R%kWE^LMf!jl(ZZ*m z$e4B3dp{ZU8{>tDXcC@q{Y?4MBX{W21DBxR2~xmw!&L$0q8Q)fjVtqQQ_6X0F3l`4%CFVfH9<=qv!C)7dk z{M}tB;A}IV5N|9gYeUjvfnrcRYm80)UgnbR;$((U@E^I+&4WB*HRDhIm=q^XO?;&; zirAj;+peGJi;lcX*R(C+_H!9QaKr_Y1=~qs@5oqFdx;GFGxJ30C9#V}EDDs!E$fsB zrTH6K%0eb{i4V?GV>Ot5?U9dw=1Fn6k^Cw|Z+L90W8G&hN z*hKaGe&-(GJ_W3O;mBR%$kk~P-hpw` z{r-x|7I+f@A6&^Qt6V^5{rjKj!tTZ|nX+gb{||d_8C6%%G-{Frg1bv_2=4Cg8iE|$ z-Q5Z9?jGFTf}Y?G!7aE2x8OFLyx*Pq)}5LAduFZ657yb7b2i=8yStvMuBxVLIjwow zpz-}XUBk_h=Pc7cq{?68K0WlqdSJpb;0j(=z1hRdBwLpErP(s}GJf%=DSO#dviu#c zse9jV>25`)MXA~Ie&~Z^>qfdp3`6Jp%s)4`79O~VQB$TgeP(3KSQJ#FLyknkvjN?T zxt`IY(S7-ro;H0vp_h-m;ehinLbw)qL>f@>cySYeq6_-rcd~=Z48BK?Dj&gmt&{gX zEO|XX!P*H2`h`5Xz z4FX5zpL3V4x<-DuC!M|>;PJRN!|pa$?}GSx+n?0KlHnG4Aoyg?x!NoI;7n8vu81T~ z)?$N*&d!DsR;r34$(Fin{{x3LeKgHNK)%Q&$EG=5OdSK(CTQrhbMd3;SNh4xF)bCP zk?y{Sr#q~dZl?ON_c=Y2qO^z0-?=EK{yqC7%q`kZD6V^x5v|z=+xP7bs7jR0AsRi5iu}!hP=SV$20Qcd|0= z7`^9%s;7t57N`DK< zW@>0{NpN?v`f0vQBB2(<4}7dh6_8>wr*Q7}9_M-8++X#o)1Z45KC&pRWA>{QdGbsw zh{DY8D{~X)n9`Xa*Cp_4C6+QM@G0@1Zz5mpVP54Qde4t~EV7M!&zD=r&H`jw@hcFz?3&D}VAyBYfN^E|QG z7VJKoKu;$j)~x8wKU;gNMGoX^sO^Hv_nEXhUi9Mz%#)~;^QR;NgxNa*!HC3;e_={J zn@wo#N~BDB{Qj);&|&?Y!_s$9)*esvBLi97tdYBlH63A{?^)}_yXNtIV5Zh{`~2=6 z*qy_1ltTTNi}VMr)l^4RB)IVLSWdwk`j;!ku3kiNm}4(vexCw(1PTcoP``~F`!cn| z8&1_GHop0kbqrVc(txetlMZaqzHHBEe=TZEeeyDmVC;GzNT(Z0$F;GUPERj6@T|zx zLbBOC>%v#EtebS5Hnz*Rk}^~FJJ;noC~j8-s+aVfov~mTi%wDX-dR{D#kbgyNhLLN z=-@l4V^0kz2z1Izq~M!d2bq867Z6iVHH^ohfqW3Dalr2$FlbwGK0tDrnoCu*`;pnq zkWDc)UyR8R9W5hHQXE-B_2TF-h6Z+gDS^M0R9mQ?!d@1=pO6zqBK&Pi^|O(y{c2u% z*gF;3u66vTlBQFzfxp3Va*!q3qvM0@HGyeli$msgT{*oB+oE(y*`;O&`?NJ1;6Jj&l@M7&-mu%LFRgTU6nZb6})gmBlVHcEe+55zA4qT zYlDx6B$*l0d#A5G!^$Bu=n&faZuUpwso3K}r8hvN@oI;|bMRAYq+e{T?%u9{q)*47 z4>R^M0atAu4&kXE_caS^Yio<1T`g~G+YKoPzzUa)bbD8^0Dk@pqgJL>ue;jfv@*y~ zWV~=YgS+^>?i&Xr7IN7B9ty_R9YtQdb<*`ZvGdUD!pf8}i;o}P4W*}2Yl_VjTohvS zjH^5&%<<)t%&fjzOkR!V%X%TyY5>(QRe3W$Gp*#Wzz;qO49zI62Qp?-WL`T=_TEl^ z|71sY+ig=yHKUre zuf}wq06Ji_pIP?l{>eu5Op!xYA;dt(z5Q9{LEw(!f-RHLxup2W)wbE=$?^82=%m2)Fi)6D< zWb?U=ef+i=EA)2ticN8SJCl8FsrR7TPhiqF=FFIKdpGB7RkkwJvU1k z2J6`)dFENgZU8*PMh|?=uHD)t=F6VqXWZPZjfT$>VG3P^$%=j+o4eX-Uj7`KV)UcH zz)_AhH8oYXZ@gb~-u$S^;6axA(n)*p*Lu&hBy`kT;rC?^DJFk9?L_!n(;(g!T=M+0MJ_F3+I${$~(q z;lVWGxu@5^iI?zD>I;X=TxpqYZ>dIjvjv^0IptELyMUTJ%Vi`D!WEv*W~{jZ}$ z&vb@rql-D|GM9ZvgZINbuxRPzgHF`NspjI;Gtob_R7dr6?x3xg+_|x}?cV{+%KVif zh>J1m@y0ja>(<-5sNo&e5wqRzAE@7e!~lHXMAWv)EZ}hN-iAe3_r|z-hkGZ7Sfs?55Q7 zo8`!RMJomt=eA#36A#W~Kq_*;6*R4ZT9t`QAFzvJVs4rBnNr~rocP&Yz^0ONcJcVP z$CTFHFA8-fEtLw`%&urP#dzq+*%ArNBSdzqJH}yIch@b|7rRT0$+4`xh0Dfz$Q{!9 z6q>cuoAcAiwV@*H$_2IL>3yA~_u|Bp{3&N zMO$l*aIYi@)6A?)&+oINodPYk4fFBsXdc;K-i|ePa7=ZX^ZQwv2c2pio`;R6*X3GK z`7Xb8HEn0f<^M<~E*8_H$H{%EHwTek7fYQZ+Mf~y;vVCUZHNmIB&<(rqCkxqP5O>` zo4wxHo$1XJIxVxdzbA~9eDygCvH8(r!2e>*6_G2iJspdmmHiWb;p0V5lW?W0dO=g$ zJ9$-?#Vxy*B9_RJ)L$;&T8#~%ysrFcKOB8#LC0c z^afg*-w#~Tl=E6Nv=@F}0?}P}szYRE=ZAM5ozRF7>ItlO_d6!~myS!U!Z09#**2PA zo7bD&1NfVE8a5h&TH1tMsgezM?WV)%B~%uo9?SO&vvUP5p7f`LMEy%;Tx&T$0yxbi zm`de7*bDn7w171zw9Q=?Hg54V>|dA1OKWOc*bG#XQa?BMSaYyPnqt;XonE@v78tM- z=B5uET}1wg(G$DfG10E`=%omX69IvggC7s)H@Y60%^c|n0x>Z+=^Sni~wu~|39Q>b#z8Ksq#v-lN*+rs14h&+df z7nv2DWbslPf#DT*?w$lh3b6+EuI~fGrG0eQ`*)(cEdo*MI~;n0UCNr!_%LnRROj(R zx?Sh0Sb_p)Uo2m-p<2_RxW_)Bj*rpvM5cTFx^8OH;A9P?N31yic`T2Uozs)Kor;o8 z*uUF{P@GI&%oNHEQ9)C_;pFw}_#(fx88!0|ueON0E^g>+L6IcFA*tl{s zk=A8$gQW*_$Pd&Crzb-hFGXo@cI! z@r6nplT|dP6r+$~&OGr8yC2n95DKjrGg@b{_!K*1O*%6odJ!gT-F_u(<08ov!N4(= z1t^bdv9fab&yYF4_mw9yhDpA1tySYv=0%@M%l5ooiF(7@{SL4D<7WUU z52)B`pO3sUS-0quzat-Y?^$&HwqbX8sy2Dt_zWDzXx*Jp3Vt0QKs1wjKLnV6Dl$gWeIPniyr6^{Mneqfa4tF_2@j9m@}Ul1%d*TYPgy zo4Ay+Q_AcBnUS41O1)qZ@}3BckWKB>gpT`8Zp`NH`jp%PICA6c3EF#qZU(01ge|LN zpbGAuSFs#SLeV%TV;VB&)2>-YDnO)jMsS3j#>!D6sPet3R&auAI2 zK@O5JI>>_Bp^}d|eZ1(3hGvJ4J}0W~`=73P?QxJ7_#?VLuXhJg6K&?CGAZ4Ly1Sn7 zx;yTli9C!HxIYXL_qgHQ0;Wzc@`Az1a?M6j{rs%~pY|;i(wW>oveL@(g02@d<2dam z!ToA0dW~~uNU9$vYkaTY3j&SnDP*~&vbs9-Y{UskZe#5B0qtuYo zslO!t&UaVu0PcSp9xIsJH`x_F{@QizdobORH<))UN?W1=;ub`3+ex(=n>3kx_ z;Jb75wMdT{S4BGWvnmP5UjMSjXmoGZe&gX+zjv!Of1Saz*WIx^z;}85(vp;2{CKbn zop=1(g68TLTy%_4&AQIwbuUb{*g9ihspEn1@YX)k_+PnXKwHx@AECtq^k99MQZM*M zBEt$H63~V_&4kl(JszAUw-P5JJrP=cH4YX4afQW6y5!>nTF5# zj)}0mTtszFlidKCijZunP>d5B$oRr zZtf*LcZ{!C;B!uojcUtg8M|}fO z%-}=pD@v%M@#N!XD9e@CR@sV@i`GM1)yN$$HxR@-sWE7nzQ35m4i=W0c6d5JhuwA| zdLhxyLm{t|LpTw(ax>IgXx`0aJX!v>2uuHr&V~9xbKJyt3o_<05ax8GrfX(_c$0`! z*l4ARCRXG!<$>UJqN)eySp7oO;X!4@5Zk#G1tTzcR2XMF6n|SA|7P6E%QtO&)-sWRv$_d|p%)a9Zs&sJTf%@sDy1ZtfNEfW*Da5g zILIGCyspKN5vf(%z7@&9u3uN|8sZ$47&A?`12t;jdGi-Zq3D%3`H)xBRr>9j_)v{R zA2+$h!6V|MnYVt7%xuI&8vFx4_1bp^Z0)z32J`(5L0Qe@p_~t&?^F)*R9T?u|FX~G z7ej^xPyDOg*A7tIA$bC1jPHnTg@Gk zYYRkTltc%ry@1iV40Rp+7;%KU?WHTiByu4E@}w&g?{?OY)C3Y0I!i=~O*3j<=!T}B ztZaz02ai`8_BnCj-es?I=x`ECR~54iTO(htbqdim8i_^ZIoW+SgxZm9Z%*@;;%9J$ zag+zM}tMZXlpB2iTfOH$TVxs zB~XzdgUy5)pF$GTnr}l;5I>?Y2>&@cb`cS#Y^7c|ZWY2&rhucr@g^n+ArEE6^Q~-9 zwX3YE4_Y(F$zOXE&1)oZ9Gh?5}5VU5RtLM#4xzPUyD>l;rEMzs!AXdc4%u zKGo)IWIsDG4#cVO#Fz*qYFWR9DNQ*33ZB>CdamC_?!|rt|A)JwoAfHF-ExdS}L$#Zvoj&lI#CDltjhi=hNb~A@c2kWvOoXDpsJ3BX3>xXO@8qMS_j=0C`hL zcm!LB3r(a^<>cT`Y^gbp!P1t==lO629gpZd{qr?+>wooTq+%`V|98xzh`Ess=r~YJS@= zg%L?PC@>o)NF?lI@S1J)<;W35-(oxDWsOy91A5(8WES(*xQ>ml1Cj+u>aY^8%;)|`DZi6S(ddFc(DVx3{ z5aUVwG{I|#7l9Ez4#$)_JQ1WS#6=99p&XyRsm&>MSoePU6D2QQU)Y2@xlzzU zc@Zhq&3wbI&SV1uH`Trc(nLYF<$5pZGIj9g_&ym0?q0t0>0UpVadg%t9>Xi&_fBQY zwxihk`jZfsB?im2_``_(+AOF!9Bvt;o%r=$8guPXmsC`yWv)<3Z zYb@QvUO43ozYsN~p9WLsQp^<;vGgymujMdBP)ZSnBTQ7Hv@_qh=GSqV=z36KBvD}t zy`=X}ltB`71trO#g?vH((K$HKq5Q3_(=NZuguO-p-Ka-q;FV2D0%Rv*+Ewc0jkb*z zJ9MN`&Q%|!UiEit0%Yh}-BN)r>y9-Ix)cN4A=PycUH$mmHkud1hic+D(CXo6xSk(Y zn%l@V-O$`T3`i&-cHBoIHJ|be6Msl5lYeWb?Uw(E~KgkGo@m}#!F$mOO+-1d=u)KS|ut; zOc0F5UD*^*DrDHabIHc$A_@yq4g;*}>cCi9WQrO6Z$4L@|vPJx67Knre zerG}#fgwQ(=#hgV3F3l*WBvE$9{t#q{mFDjz@Y^mMiln z<1!!I@lbOv{Rp(=eHTqaBRGsa)AyU-H1>mMUGjvv_9RbTH4$2`tlAAt*`mI=e^QfO z-1~>*!@`kmaz$2M4BUTM=+7)v*If@L!Jn`fUM_i@Q17WI;In+=Ps$--@dH1kUu9c{ zrn}hAgkaGT!T0h7fo$xn>WwvE1OmPv6i*UbNJKFt<0{x&=p#I)*$hvkp^YP)nTHZM zm!SqW9>F{3&k@{AQ4BQC&5I)u6GRjL!j)TPx?gC@r-B*OG(fP{L%Osn>5n4=`#w@o z?@lP-7@A;3J#4V<%fb%+${0x_mrnO5__7|oP*h!Ux==G%-NowYuOKQ_{60S-+>E;I zd6&;A{+Bq;}2L3suCdd=+aUB!!@#VHh|5J8_K* z9Og>VJpi#_1Ny=DDT3PM#(PtajE^Stk%gQ)lVm#L%1OEuJDka_WnGSQO(azvM?5~( z+^KT(rP)}b^G_j_N9-<9N$M-Llr`ShAsFBT-v}wCCtsEHTj0Vz`#uFE7VsXtZg0Ig zYCi#fHtFm#yi$IT#pCli{)!tX9>d&4x41|fdnO^P|2nNne{X4PA-ouxo<>QSAA|lO z&J=FiQ;iZ`S|V1K?GqFV5;SYfI9JJVWx}a+`mG`nS;kt#p@#|kIL^491iTRwvXd@G zJpzAUt|cYZU*bPHGz5QK2#gX3`u}m`#&3jC; zHSHOcPnKjCPqWU~Y3#k}!=w;u8OAP#V?x$Y{T-k6Q^T^YEksqnJ3benU}RUNY7e_;s5&hRxH2Hv1O12RSSJ~$qey~`;JB$or;UyQ`Y2US##nv&B(4NL7%wh> zsmw_ma4K&XgH%c6e$w)M)#XP^rUNj|DI}6rLUn{)AwkzqQ#yDq@}tV2ST77@fn^xK zxId}5%>T}pMX5LZMP${{lzQa<{D{;j_~MrT5$t&!ep``6NWM4BIIj*p#L1MT zb3jXwlVBLG-OGr_P3valv+SfnQdfqk%^I4I)@Q}^W-0nu)pd?5R|c{5Us8EJHUJ;3 zmG}~j~Y}!XIp2m339$LTL+eVXA ziZujT$oI4T>W$sIMW~w$eL%~T5LanoL1f8zNBD;+{7j(_;n;4{h%A*;=F*Po zkP*#z)CukaRf@lhj#jEy^8@K0hO8dpnpZ_?sqE3fJ&ycKP`p_NF~d+?iwuT&ep zW6UW4_33=|J-wQr%9#u2bgeMz2}XHS8o3qfW5l}(!=jzy$q!s8M(fuKro03-8JF!f zQXWzQ%L~-hW-3%Yv?p)WBfJ+IsqZ!yDiP~&Hg3rP{yt&B6aPwtMy3A1fpIQZZ>8Rv zn;X2NBgYgaB~|;oP)UBf9Eyqcm(rT&mxz`O;%B=_ZKQo zwHQIbgMqYe-WNI*GXwS@>%By|gFCYz-@p4w#NxS3Bhs5p`rwk^Fz4yLa!DzlJ}yEc zCeEtByY2i|z7*1!8Ty}j z3<%1pBmVDTwbjdI!$=u!M zA;YI-W}8*%EVRoRonKaF_T^6OSWILkcr}YXs8gv|?nEu*mvB9llERWW*ozXIX^0#$ z`)h?maA$b<8-~ZNX-1hSZbC5pLO|T=Iu$F?#SL^G*pt-KP!lji(+W)-hM8dPm8;Pj z&nRxYCHbW#zT}fj6RViNkMfi|N!-734?1%jx}tek8ehjQsk9y&^4RWcmln>jmpeSc z_fBbPvWdR_lZ64xs@3~uT^_Mi37a1JJa)_;^i)J;W|0T!jeq5rglIYp8AX(*T7_MN zYFivJ|KKF~2T55fWTog<(B-Lf`pbqDdL|sY;(lSUlcX->Rs5mNF!U09!fdwJ4F!_v zq?aYR>kUZfM5&`bg7~UemLx0rEBL!ULlS8j%k26X84S!pnF9I&=U*YN@(KE;CBi0e zt%*vj0(5O!ESrY#Fq_9QqS_0xM2UHgi$bB--VR8yxqJ zP$o^j{XWmWfX&lA!|l@v?B(~e#8q@%b^LTbD<3wdqS=zCxw zt#^R+iS`VQbW;OJA^(!y7`1npn2-4| z2mF7M@O`CdY_lwx(P7BY;J&k?V9~)9QSx_E8*cwq?rL)-9;FAj>U+?!5Zpa!7u%SJ zL)FEhg#To^5WqWZI=|B*gzQn4RlG$j{$@WrQjidLWqqIyW8^fnx9lfpeEG$=PnyUjSdb3?od!iHW{jLiZ9#IyS5gD*S9}Kgx zzbpiQ+)N{CU9n)^nW*s@vS$DI!}k+t+iAsUB2@!8^dz4_W`^p5hJ91D8jPC&Bhk6;UTEU2*e44e0zTbF3bKA+IbxFpv7E14irj^1PWlL*nWRH z(p1I>GOB7V*c;3Aerw`T&AKnQFkqRTPnun*Ul$E!F;WnSTG1FKw5jDYQwbloU$o6a zy++qL18!Y1>_5jCle$7*>#~wAwRfc}?j9-k(&VH;E$j~K7FO!r5G z(|ECukKje@1E)lg?`=) zBX*>P^u(6u*c4MwJ@b6&oIo2jDY5Y7KDywX{rjK~43H+{h56T&au!Cz$ z1+{Jn&EAUxk3w(U^MHGkqf$uWAXzjifl>htb=y5}#CPATG$!D)5)QceG`o15(lvrrg&AIVOrA78DH)DS6d6)}@O=bc7&Y8Gujy=4a@Wen?8X%i+I2r%*LkW~kZPygyP? zHy&Q+AKkDu>zDmcz475pe55WkW4pF~(V{em&E^ zHxMIBuzjE&YvB53Pab4mav;CZLyid(O483WRR(s(lh?Ae-n8C3e4k~JuPheK(>UH< zCJEFjd`iH&9v~PazMj|l%8SWJ|LA{kvUFK75U1u#SM%TU(5~y>bEF;NXh){g8C#RvmC!g=RKnw`|uuekk!I+-g(g{f% z6_|J(+i&FEjH7WX+xiwxwMu?HDB^V|U#(T{ zZ6`DIq`wd?0*P`k32tLALhbga?=7>R&iuCFgtbN(TQlpw`lg9oDXfix4& zlaXy;>+Jg2B=d@J@`fd4Fj8~R1sG-OzdyW3*7tN#bgcp0YW@J+AzCEGq_5F=G{yIR z==nFJI%jzl#!<43$)ys;+*qFGP^BD!gp-78tO@%W?tB zI9sdS(g2Z+)yTw9V7^#k<1l4*qw0Ow3S9^y%UIg{LAt!UX`)JqbTxqUtYagshnlOl zY{DkP?d}TFH1-lgDX!&Bs4Gvq%Qvk;t#bbdla%az3 z*EYYGik~w>KOD<11t;71-u_q;!;9EiHceJbKf}kDQF-Bbe0c8ZEEo9v#4R^gBn|#) zW+8klTFsGH{|~VEG~NJ9TIkbI3jkQBIEG>(V&Ot)e2H2nu$^tN+9Kq0iC>4{P<|3gP*;jNg~@>%y~%Xp_t7|kU~7__=5Dwqgh2- zW-yO^pE38Ob-CFRDG7x^)mkglyEUL*6TH<0%(S|+4d$$_|L)vcyY)0M$vh%dHwube zID;cKDW7bnXRUHv=WM1>Pq=L1se^=N-qcmiMQ5H-l31E%#24qg%~p5=tJWMRbWC{Y zz}+4f+I>2w+8QSvY{}}@E2yz5J&gO#n525X`mBnbTdpIADWf?`ES1>S%Qi49WKUQM zeRFG+K5<0cTA*6V?49VeA%RI6(SNzS47&4`ET?BON!4JJnyNnyIgZ*f$bbkRTC02c zCp@){={omc(BKV8NYMNZ-g~jlX1Zo+n*Lve^%c~-D~lCSWFMQ!pQ@6}x6t(2G({wn z$?@51Y?l&nLc%isRgDu5JQUY_a&=q<{k`Q{`8o{xYtu7?cEtSV1&hT0FZb8~(l_@1 z=Qr~m^BBJY;0Thc)@fI3cH-pV!16|TW67cV65wZN-`dKG_K@qJ9NvG=%gZy~$HT{` zeb9*cC!zn@Pxwz3QaOKbZc_LW|9vR|y0f#>9LONk(0 z6qcB>FK`Xd(LAIn0Wwdfpdpg`)qy?noTN znfjl>O@Q9TQEU$QuMhtZ?`N?!F#M1|7Z(>r^xi}K>qtOzb8~PPE*@hYXt~cR`Z`_K#oiZ2;}+ot;X?b$CX0I)dVkvV(34A?v6Bf z&?3U%e=LV?!nfNR`p^BSABtq`Dt!efZI2)S8&)iH!^a`ASe${>CYxouSiVab;7$_> zMWg@uiYV|*=z3p>j}q41c~KAMEd8@g>VGXSXBf<%o}7qVSy_Sj8vZlBNMa5QB~%~& z(>6x7|8`+FLO%lW&u*a(b7W-s&&d9tmQ2>*n+F;K2OnSSk1T}Hzj6CDKi~W-_4~g; ztgp1Nw$}b5%k-1^e`OH;FRi8j{U%^C{%;}te@O^pCM3Li?XEU!usM7lj%)kGL2=$o z%{D8*It0=OmR{@!G`Il%|EDKjOxS3wbrI|betG=>jg)jb3#^`D6JO>t6Ry)z9Z66D z_W)M@MA$&T%F=P#UsP+rMjJo6%rrVkHS}uV`H8d7&e|hS3gFzG6Vvjm6es_FQ#ss zEE$)x?AozW5U*rI%_-6p*Wl3h`mtsb02N~p#&0bD4LuwZEgaI+%nXr#A1FqMLf5i_ z2;r#+WZf6k*ME7f2ydp`_~sIO<(Y6oA@;Ngg09pR5|b5X_88Sl17DS_)Bfpu6AY2W z%r!y6FgJN3EIB$Xc>?fT8YpZ*{uz_JruDnrSBP-9ABPF{RWdy~6@{K-wm)cB?b~TL ztL+PVbo?XWS{O7<4LDw3J@@A5hQh@}#tY7;ZcuAfy{1qElarH`FvR_&sf(erQ<)T_ zb*RW|-u@*?{*oH2s#WK%7^(jfEY#f()DfvqGy_(fU#4XZs30(?q`poXPVmB-tWwc< zZ{zlua5yo}-Ziv_S~nw%O-$fHY96y^j^AVuzXeRbM0n7X+j-ok<@!DxY&j|dzN9H2 zJ2!j=$chH4f-wmQ#9UlB5Ijyv-l^`eQPxZ>=L|w&GpQinCR=XEkXcTu8>$@1K)$S+ z{%*A52jZEPR8-zdv$^vT>hz5nA|~m6&-K2P9_6#j=VN6JTv`GF^+EJKJ@FbE8gM%K zV!AjdHg^~&jkXTiC?!mpd`f4-1WL9E zeJD>CT+d4^>D$bBEWJ#U0rGgX^;d`kUZ@VE4$y z-@mmbklQeHCkzF|ReXTRuq$46_F&n4iSrrovG^-~FI4X1SRE~w(=qnq!-31)(}HGQ zo`uUm8r$~>r{)9oe;PD}Js;M~)m069x8Vc!`CjCQD=ZV%R7LskkN3V}dc2X%jO#(4 zZf)kFG>^n1jT&8bfA{A{Q(N)x4i8If|FC~&=E=DAr$JdxS2pud2b1B>*5YSM`@G>e z7UQ9sT7hp9^tSrfhMV0Phpd-f3WQvo8LxSw=R?wvN8Q0^z4dVV7Mq_yeKA%@O@fN% z{|Ex3!a+?w?e&_`C=IWPNHK>|T|seUaGlp5`Q@JO^hpNYw#$gj(#lF15JIfz+k?rM z)wE_>w`HBY05nR>?}7Q{dLy(P8Xw}vw`5*_7dO?PGfcs-wSL%-Ph8Z8vAM! z2IF?*o1GQ!v3=wFn$RII^e>m`+H!b89$)`px$|~F=(~6SBfv2Fy}GyFK4}#qi%v}) zCAs9~GiM5(dbWe(=TqnbBRS@n27JR3Y6Kl-#$EwHKO zKgZe*WMp=fmY1^>(lZd}Cuh2L_0>?=-*0oR-MvVr{a}Ho`l*=vh*H5(DKx6XX$s@S z;ZO{0s1LF9@##pR?{%+TxxW%kV)(4p_?)%WJx`3gZ*`sR`_Vi7Om~xH!Z;GXs;L>| z*ISJlV5j}N<|HpKA0lPBLpHJX+j`2_@8CDg%Z1|F{P-_g4$t!=z4ed*m+K#|FOS#T zf_EDqo`Z$>N?f~uQ`3M+-_to4{rKv{y7oX+;&49;nZymH<2N6O`C5g#V{{9YwuSup6!JL0D_r-(}n9dLo$=5$?{Cx1$s&BV|e4n58$0+5Y zCSO(6z8fqsj5_(=ZH9(;i~$8ZtFIZJmWgb;1z)8R8jOCHusOgOca%q0H@%o&&*~X&Vc0qiZ8kWn67Y$S1wz6h zeg&fpF^s9@ECTf%?so1dRv(vDH+$s4I{tv9O3TW+Wf?nz_FtI%%i&)k+@P2qBSSYG z-x<=33^L|94k95SApGg6)REohf#N)NFgQo~K1O|a*Ez~{eTw4x+Xo#uio%69c-5Wt zjapMkOb2U>S;A$_B$!XtUAs&addqSeHy)A z_S9x3^c;TSfTeFVbFs?T60I&VE$^m^|dZ6_9Mw_W*dmo>hfkjfa3DdeFk&gRDQ|?YR9fB1>4-R8*c1lzk^uy^Lfv?UZ<=lFNbbMdzpCxFtf2V zX~cX{_ZC6d%LU`w&xMr{bVU;GijBM2kn>AFPxQ0bQEDI6YM>-%n5{{uYOKfKORfom z_V+?3^y?SAT1p^L8E?kBZ|yxr5iDPYv0U_?7#PMus;WhdXva{LK>Z_`A-|UM~3@44=yWJkI(S^vVD;4)^@XdzOKK>6DwhYz9v9!+8$2G1J zUhh>DjqnimrZ#R(J&}fdJ`yMj4>uuq%HZ2J8+i8CDK$BsJ^OZlBoWzE9vKgqj7dTFGXvVgUzs8(a;yE4Wc& zJWO!nYg734Z_P>2WBchI=7Vn{8Ef-Jw)mU&+fP`;I&8*_mLv5dJ=cL61+%{i2g&k)ZTZc? zx-mchJ)rV6ytd)kDsM4%({+&M&&+?7$j&V+6f`%h#m*Och<<1-kxd6z#OHnOu(G^t zODQg3@3g@tVm$5teR_y)=QtT($4xf7&tcCjrH|tgt5?> z?`bbKgXsb*7W~`hR70R78Zm$NF-7eCio4%(Z2c>Q0f7SM3x1eOr}VzUsO;_**2!uD zPYS;B^=O&K{*PFIq!vF$pHszW@I#$NXdAVU*R!SK0K1ls;J>**t)}AhzTK`5n37nX z4+}(o7trE*iYD^n0|{AM8B2R%D)%rAAV^>o0EKeY!{_UQ*F;-^P;64+F=ZGFI_9=A ztTb@t!p9zHI8yhxY_okcv*}dCR9u04d7wUFh9>7mGvjKQ8);yxqEh)$DFnxQ7g{dT zS`@zKyvg6Vex|s7$U3IXlOr_`h|uvzz5%x1OGkbq#_CCC5EzjfT%l$L;aZsRSweHJ-0y9AE-n-um zPo*Gb)#gTZyRu$Dx%xwcoj6@zma%lA*grGI4i+%p8JtpM2Q0SFPqdscx=MSTJ0rOt4P^$_xpzP9bEag`xv<-dOPWq>b4~7K zSl<-D5Q_x*N1Of%0FHni4E*MrK{LXo7|xesq8X#`grb(cJ)Zx@EY7I&p8ab4+amoM zVi>05EVYh-*qm!^c>j2*WMh>mM`GOOkY_o=-O9ppL7#I#`@&)y=W1*$isAH(fTya4 zso8f0u5xWw|D39Ybyy`$KCBp?H`UdNWTIq>&gBxsP=is61Vc?Y1uF;N$Hd7Q%G^aTC+TzYaYe^PJL)u5Li(R{T5cjaukG}ImgYN^^yJHkr~XwdMiv@%mFuqd5d4f|8LfyTNwsDXY{TBuj%)j- zt?Tyss~#fPO+oB=#gK)ZZua=&?x-u7v_pi3Bw#!Xx!~+>p7F($m*xc)U5yi&< zFI(GO861@?Y!>M01hJHC$f={9X1FPXX|9$lJx{k}3^SOl9CAKOlw1tQb5l_d-pIeG zn%|EhrtCKwg5VoGb}?<_x;uoKjI1<_&mc?l8N%{Qy6scor%n?7g>?ut&*me_M}1XK_y>N6O$+35(`7*Wix{r;AD z1`5s2U9FVVn(oucydj6HZ-oX~Dr2RNRswkgEa^c&KHL5a@wYs5JAF%QEI@e=9X0*9 z!uMsXu2|3`t}HfBUs#(LkyenGH#k0oeA%5eO8cbR*;Qdla}g}qh6!Xg;zkyXc}3j= zCtT5igt=j_ezPmbRptAoi7(PkEDJ=YTj!_Ce{*_Hp^x^iqgl}=)sE6F^Lc&njmtO?u!Yj9c-(m}XN(?L9lI5?%=ts9?id94h32_S~){s)yDWYb(7hnps_4 z9Y_NE+2Vr8^CF9n^m~4Mko*3y1O2*S2K!&Isv2(NQS-WIxFmUJX5TSk(p(AsxhW$ zsDt8-@3B`m{h!G4v=xv07WlXYRtBwAhpw4RjFOu}vO&vqrNQ1~^N1Cpq8y{4iHEUq zj>^^h1$U@tf*TLNwU(Wv&^2QR1A)XrHa|~R->VCYr>llRpusrpT){(rFHle5I#@Tq zCfw+wLqvYB3+-ju(Wc04_oK51`>hhuwuaP-o?z&g+m*WQobiv0SKe5Xpypz0c?~w! zK420GnAb$3Yqzt-L=x%rF7`{y#eS|e^g-k})s7CCYkJV|$HCBY(pSRh|B_Utme`te zkNIkcCD%~&bEGo&q{Uil7p5C=b;x%3qoqUEFu_qu}b&qD*DT=cj|x(W)vCsrL%ZZD-DS+n0j zs0(L}&@&A(-u%4b@iaN0D7UxDlo2|(qnzrj+K4}t-?ssyu;?&pIy*OaV02`<&%v9L z%#;~yW@;)ygq@a=(F2^gRh>oD-~M`K+-*d)br zljNOjxuvsGQ{k!yRy!-nw{7$kL+=L)vWrnK=)bA6_FTMc{Talw}t=r_tdZ03eC z^OF4QK5}m_s?XkaF4^(Iac}J&e&)PreQIR?XBA8KV$WuoqqAufrP0KSi7ue zy8Y>HHCw5EZZy3|N)<3Ch{Kk;y4*y6)I_XLPa*=G%sy3%+Q^hUHfUccl|x9+htDw5X!u`siO6Ukt+yr0noJdf%H6l?BJ<#A`;H*!+8!_lY~G_fc~=3Bk|nIPyf z^K|?u>Z9(!;0lE;h}Zkpvz%PI$h(xxgA2&wLG&MvrUXC5dz)oq@hfagMS+eTHFM~1 z(^qU*>4s-`#-6eg$3%jnlhX%BX=rHvUb^)JhQ)o+=k!(?LP=6#y3ML6FGuKA1E_7$ z;a2{~eM~eCH<9Ez{=R+NJ}IRn;LdP)a~HhH?m?Aswz_g4rP*cCwFS9?lO3nB7?@B? z8dyCDID<+3IhXA<*Qv%Png88Aa1fPjgBBiiYOQog*qChA3W{PkLzE8_7ba}y3vU=? z+_pZ$M7WOLn3gn>n!q9i6&L5hSix z?xmJ0irU>X)6+BE)BSWmfR{ArbU8`{ku107?V6f%Sx}`(q z6JuMR=2V_9$?x_W+qEE#^SrIpBg|#VH*4=RYr>l zSmB1=xprhO6=4A3?ltzwY7a@$!|XSHFt5 zFLi{vb1j07ZS1Ud!!krVU>nxbBQw6bJ!6lXk%UqAr~QQfrXI-`rNKg4T^et147tz5 z9$0$Luk;%`+@)|degy}-fS+AYKK3Iv?)eD;D(oc~eXt&7WK$24monfJ3M3CW|8MPa zGi>q3c3!KlV!~*RJA>~kP57c^(r<#@G5=%4mzCAkiuChh>}EF;to;~8;~O^$fZal3 z6@iC{TRneG6X`sZey-f3pmmLj^RM-o2~i66=VtbkpyT!in0+iWw6UFK;=`o(wmKbT4RnBo^ZJrC{w`-Q=uYA(b& z_MA7;&&8YPQV%7oUs|cyeY(zh1BvnMnRKit6K%aDV}xOlGf#%Z2HlTncE*GK_x2MG zRy5SrlQws3xU#cj3as*Q=1d)|tY~=yL!>y3l@&{b`qI(}QD01mE@P@D`6sY*XbE^Z zLq^AC?K;*&O2=*b@ur`R@vJ_&+Dt4irhYQaXSEF~SG=7m^3xZ>AA0b#aC&_~qAV)E z*45tb4IiJkYM%}s%n;O?SBp4m9mDk=i&ApS{7c=t^c zn9fJbLqxh|QH<5>;)4vHP%z!uri=6!G-c$0Z@yD`2Nn+Bp0mYXbh1TrcvSeTv1Wv0 zRii{hO&w0;X%Gp8sD5c*N8bFF^QiW#>IY6Q#IZ|%>J^yu!smr&$?|Ll4boUupBxtJ zZ;dU|CBMJ}-%Rg!qJ9NULh*&xMOTqyUSE8>0^XB9pQvTyZ}-l3{#TjR8FbqeWeRcR z%z@T9h&g2fD zvD|YyJ4MR$^?g^?&<8!uq` zCIM75yia9pW8*u*N;@n*oq=)JruRM&C=ATo?m2lckN<^{@fNC)0|LS8JSTHb^LOI& zvLQt%XMRzUlqdSE!iwl}5;-e3j`MQLo-yETNBxU8cCd!$yeXm%1-MMGZj!Ix15{x*ORhJBCH8VXujEEP)kKRk^&NSnysqn_6g`XO(ZY7{7@$= zl;TaT`I)Kc!#+PX*ewb)_-Ei;qr=KMYU5~pUaO^sY}`<0!({!xiFU4Vd77CC*ZuXJ z?xa_`ljSyaVmJmEQSx(eWmLYx->og5^}2{JsbRj+MpoNo^$(~bTYsmdPS~E`e-!?H zMwVOQCva4sJ@pmC-^~K;Y)vPk24yz2RcBEx7sKBJ83;zDJy`Y!-KSCdyxq|+G%0Q+ zvsA)r5T-QDN-V9^VHf);Dk*I(c4hX)y}fqkrL^D99#?POY2PmIu7NKZ8k2SoEK!>M?kEy)a3O5?k-Mj14u<7;L&cHmI{MEWhaf6yzq8AR zpwlU%zmLy5Y;sK)DlZApzi^*J2;$H>NhY*q53Bp4s)&`H^+&Rht<&}DF}p^_3@h{% z@MNZ+5@r!pDh*G2USi;@PrnJbL)U!&R8(;N(84Z;Uqo_NDY7;szB?h5nvDB=U=0aw zY!q5dST=ib;lgm6hH@8l_zAQhqVdjfls6%sE?3;~2&AWVMZDA3)=r!DRieZyHS8{u zTe3{sWTaafZ6xvu+k8K&A^7-gT|9ix&fbhnu`8 z|0b_bHSrezd-9O;&4K@oZaZe`z&dEmW!`5WxvmP$R}~O^wnKl0Vn@j)ncGmtH1jj< z-BfE#zc?pt&yreE<;3RV zD84ftcZdLV?T30NeP26Y9sV8QF-tK=Zyvn4D&U*1M@zYZ>d+X#TnDbj08jyKd-#Fz zvv#}F{Zx^9rW6R~<#I1bl23Rl>g=`oB4W|B&YzH&j3^X*Ja93^x*_j)({S38oya9g zX?We1PumJFo}rY-GzCx|2ak-%l|u{ymCwt1Yf_jumxqp=z8Hel%NKR>&I|ZLnPd|@ zKm_88Ke<_8Pz&~DFt)}|t=7*5oF+fGVbl|!X^NKj8TUDAxJ%j{_~Pmxbh|PE0c}6U zr>PvQ_DVm+MZfO3>xSII!X*z~DU7xHxPWOO7MV}s@rdRA(RtSac0s(ni*C-+#xwiPM6}gfNRTH;)l4~sp znQ=tpS{RO?mfohfk8eTlSbd^z;DlL-(jj((RNK5uB9WIhpGbuAD!+5FvB7HAz8eu# zSo$X;Jwl>BY^Yz?f$O45UFka}-vy&%eOsVahACa<9=xQm|66?LY4$oKTE{V}^LM6q zNR10pZ74AEWyDtJ-vZHhcZmalP|nWSIM1!&%Ey*~gVwT*caUUA)KjEgQm|#aPyFXo z`sTII2k2ejoHa91nM*DEo9*nXp!@t{Z5vrffG-*h>)mj>Jit_(AIZP0-@EH zi$@T_*?H)uKB@sHPfT8$FU;vF1pkOVh2+K0Pt+Cv?$jS|oRsvy$AhOIopCB?i2S_o zY!%U|x&Y-V`?QW%z7*f?3-)R!Tw6_B*=KX^^{CF5VBSR#3}P#cz9OK2;1!kX=0?G( zz+}s|3!8QS`mbrQyjrOZWOYp~q`r4vAIJ{|3HaeMN3GJZdZLB<$CtEu+x z7-HiziVw~;PU87YgcQpMFXQ{y@Wo8;%}?A_TndM>&J_QvLGkDFJCBp;oEB%)o0~pJ zqqHBcjcwml92siLzz5ps%{*Sv_)(f4amT?qx#)^!>sp$6i?-x%mli#%b~e&u_oGtx zpMv|Jc>Ucy%S5aLVysLhgf4snqwu7k(lglRu%#i{LSNE~4eFO?-8=o-8bkiPk2Y-k z-+MDuxp!7$@(SSzqxE1ex?hK;Z?#0SiAiuIYA_Hz$VIQG>#xDDFEG{Q!A}DPZPisJ zD5Q8wCWqIYd1c$Q2r;FWj(q%o(sSFsM@OT(xp#zjzA%Xf1ZX5QGck=@Ns&K3!g{2s zlQ4|g#CQ`3N%uFMy(W78IWkII{sz706u6&b5QouoQdjHdVhf~eA|_t&{aPp2GdJJc ze@HCig}ML8lC%Ok?U=4mPMKMl!3);2GBL`YE%(!~uN*3jnZpfd&Lola)6M#1S3tex z(b0MJDU$6mblTPIJu$RCuR5C{ZzyroR~34-D1JMvJb=!VQe-bp&X=75S3nb)|!oai`a6_BR=P6Y5BJ_Q)fNsBPU!s`xdh@BK%bUkQXew-VGQGVledfg| z7~CkOiQmf4?}Vwp*wjY;#4$DueA*2YgJdyk6*2pp;)4E@Q|>M;0!E`K?j4+0!#Qj& z%7It(hz>F!K5LM6kRrYRbBMQ(7*gFEKEi^c&kcD*mzN+ zTuYOyySn=)!O9mLi_^z}cB_t!@Ni_ioJ;T>k>BYrbWFXZ7fE*sboNR63nd2X9 zl93SFh`P3uTS0>F=I*PbJq4DbUbESdl2cP>7VZgg(XglaLw=zk7?|!UClbhh$(RR9 z;!lI+&`G;@#R2h+W}J4VBTlWlGxy7p8ra`r(h`3mq9b=~j*+=i`|&#EqL4mey!$I0 zP-_0Baw@|oTPgy=J8*w9k`;kL-$~|=8aM- zepnWy?G4n1Ua2zC@Cb6Et`BnCLG3kAlMdY5H+C0XTEQkh>xp|c?r*}knBc}Bwo1h(|Iks}P-2^KN!O2VIB+mz6VsAE z6H+v}KpaY)x$b)h(4rU=UzNvrbseqj+e@|K_wvI98OnH)jJrLLeBnsfjdl5cB5jz% z3O5qnX<5^Ds68*<3g0_Nb1Ku8%{t||!6pa+VFr7Q*r!X)J3C<_Lb*1(x24fc)}1dt zwx-|ZJ#0+pGfwLxW=jJ0WlO^ESMB>Bd~alRu;(82=Sv8pe!1Cx`|2cJ%aP;u#45xw z+g_{Qpy%0M@F+7;N|5@v`r_3CLV4$O#wJ^ZUoCtMrtfGvYt>za=+m1AivQJ%0iY3= zAD&+V9(h2Um-@}qUFbm9Z6M4!lhs|%mC-;ak}s-j;32m4L0a&vZ&1w~4O*7nBHYjR z-+X%{S#HaC#921%y(-4xW}dMZ4>$f>H<^Y|HOE*%XVk^*O>TgfuhMKu7D2@Jg9b{J z)$GDQERBl?7Wwmwq=KFT%ly*wK$2EX-ogUMns+~2D8hX#)}9xMvm;#lvgi0p6fZ)5 zUq9c_C9E5iC$~di1O43cYr$fK^#RJk8`Z1tcI_L9}P z({Ua4M0hHwKw9AYP3>pi<^b~a^gBX);=^TNQ*&?UR?u6{cpCBC<-w6oo((!!Wv~13 zR{Q2Gudg*>=r@|qCtE5+Re0jKk&XsRejJm$OO4ZEH7O^rdTYlRx$~%RG8hn$Ze?pZ zC9~@a;F1zfA3Qi5V+|-A^i3ev6+RvaC1qd_()ih7CLqSWFN?hZWMKgP+^h^(4_Z3> zuQkBw9Sp0FKUP@hgZ#;TIfnZyojy)|J+k)0=t+5^d#5Ylyjguc7SCv%OZNZWciboC zRzU7MwI>vm4NJb<@p3?Tm#28Fjr0ZPk3ZbuGF0d8;~d|p28Qn~)#j?Jc(Y$H##bC# zxe=VGhpOj7B-iH=9HrOM_o2SjXbe>iZsomqlO+rR*6ttCRe0k!KcV{a6rGpc6Kt(T z!MAgw70~R4(u;8U@(jUJSy2l)t=|O6Ub`VOE4mbZv`nL zo0k)Lx@tt!4e4SQmU+U@yIZlFt|RPBpl>UeF?s#N@KLi1_!Zra>r`BGNDP%sF$?_s z&M1F!hi&c3Yq=!yxAuR%nE^4{H#>u(Jkd8pu#OyOir&8_CKk4$St^G%SlTW|F^bsc zeX!|SnqyOGV~Xvvs^0Oe>4qsbapeQhEg;YHNKm^3{1;rmXj)mRAr!E`w|9}Yp;W$h zGGP1mBIIXq9VSAI;E!Iu$`?{`8l~0IFyW!C#1OYIGujk}PtK1x01ow$l+|WbE&C4p zy@_!Aq8FU41L|+0*;TKqoY}?R6Y|Y~+>+@CU#I%@BAb3!apGBdl?16=hid$HDOrSR zYfg6;jVmce5yzTZ$tBjw&KuanBlY%nHzCLyece7gxq^R2{PFuISQEQDXS=5$clFIh|4z44thB2s zXVTlf8@dxLx;hlJnJ!v&USq}I2_~=5(@5-j8hX)A3yYcJpS|uKELcBzc#&W zzpP;L;CSlPihy?V10=Qp7VuVUP9GxYJ3`k8@K|B54_wI_;iFoUbYRw^=vJ7AH0&B)+fDa4sb4R~iFa(eK>E5g z;8%hCz_xQGB0k@378`S?N5@5LdU^fIwgq^TUXQD>z4_WgI)(nWB|$IXSaQN3xZKiF ztOvQntm4@5CAAK`gCB}WcF_B65Hoh!?igTitxw+?$uO?$Y)R+&@AsEg14P8mMH%tkoeJunc5%N$+)b=A6fZ9jMS44FP76aFP9B8pdiB!5Bvqi)rlC7(U`_zB`R zY3aRlmU&S$``i5vmua&V4&(A7aHZ8O{>R7u9st_qSb26iE@~)x)wX z!%D4%z81cojX35En>iraK1dbZx|KJrZ7i5@;ME$dkAi4_Xh$Z|FHMBArjJ{Uky_B_ zII%yBQZaWCeIjIDZ?G@>ek8=bjP7f-qMHU4)%Z`lUZEkVap~@-{ny&kfyh$<;bmEH zM@1y)+)_^@!OVj*ecu61k@~$Nb?Ut=fpk(xDY^ic0iwIFp4z#KQ6o-k;{ZN#M@oc= zU&Vke^Fs11tww6W9A>nSgN=ElnR(~O=*)>~7j+Y3iop@JpsB<}p0nDYOE&qh=*2|T zn0+`~xu1L_4FKR4YIw~jWAv~-0e4cK|4#e((-cZC#lI&9lL=;7SQy0AvL{gsr%;vo zQD<}?O>Eh4fAcJkDl$j`7%x3(UqX}ae-ntWF?&|gPUOF*%?Buhfj)hlCndj&J`ZG1 zwl=>iMYecS_0B#pYgto`ue1=j?wfS8Ta+OwN5Cs*0FxrF@$ z`@|F~muSnLF;1Bx7d-tQfq6%D!5j@#+&uq-ys$Yf zx1&#d)^zOzyEBK!di+8|JG$34wW(jIlc)r%mRYFWJBla7^xMLY@Ob8#9Bh^a z=Ni?&uB!wt<&#G+<7O;OFpT;v)EIacnFM9x3n*D?wbqWz%)giC`0xds|HC5xN9DkK zeTJ&G%s$h?mouMsMB;;2E0p;tvRf*dVGsPacI#1BhrOmQ{ns^NyOom~#bDiFj1UH0 z2^JMu2#;3HZy_>_@zY!H{9Hk&0mPbn)&*C?@bxC_QYgxSEAg z;XX7I^aAKHQAZXjJ{@N^0(fmy=h@Arc8mJl?tB16T4eFh3d-w+LTu~&ydRGlKPrb} zDP*zYa2V=Te#?Y=@yeR1P&CFLMpx{=Ub2G*0MA-(hfN- zYOD$O%Q?}5B+J$Dl3I9EkMyc(c_0}^)biqfYRzokv|oLHMkD|zz!AS059qWK*+xf* z(@n#qW)G!WBldQ$VRhKZ^rZuM9ID)99v(1Bcm|3hQX3V9F`qN1%WDf!;vx0rKW>EB zhQc?GXGcuFXE#&+(yy;05u-;YB-UJFX4>)lpXu`Dv8K(D=;A4A>+#B>8Rg7o(%O%s z!oE>%Kh!v6%!b#ozjggtG8z1~|20LZ0iA@5;fx6JYy~8lh3(luDjkwF;-e{+!d_8r z1K*^UbEaw#mvIQ?VP$Q0f0#n4`%(jd`6*^9u2>fgitqFD+JE3Mh?Sfw)vtjhB_+l5 ztveVGRnz8o>%{~N>8BNrXTafg8g^iYati;PH7-H|0s=e4P*&TiQLIk=DOdMnBn!G8 z=0?4V-!EiwS(tmb{jF-e`H4IL2a1TXk&)B2@%!sA9HBT3TI&1(WG|}}uz=F<)Q`vd zWoxzBqK;uX4Y_)*7SE0yw@-jE+hfI)&G)jSfql zmjnj(EKK9>9UUDJ`;j6veS+9eCv9oqMclSy_#7`>DaP(H5Fo)HOt}}? zBEvjB9Vg+#~$6G0Yt!In|_sO8R*_B=|bcIapa~$<p%@lXQBovoX#R_#0KYHr%>yqpC2Qr%x{rP59Z(Tl-s}sSD3@Gg*-xU}bC>+WFF_NANmta%* zAZgYiJT#zJ#Djg@(5A(w)}gGDJ6poJ`M|r`LJ$Y<%^LStHAqcRk%C@%$u8MUP?4P; zV^upF`;D$ZrN;5@j`U*L}2lnn0Z0O2m%dWS)pj` z?MQ;nXfnP2#f`tXJya0bxgbVkU~qLcj03l<%+ zE0*q`CY}pfuY1(-m@BZf6Mr&O{S1je)|0fxxm=^Iv>`srGy*raSs#@CE@=x7_puC= zIiAM{qX$}}-WeNJ3x~22+cD%9(uT+JQ@c4F$ePp2O`G6_&EbS;s_iLKe_J#9oWFZ3 zCbS}{vQWmy+^7z@OKPF5!`DpBd0)p$X#BcGKVxH)<=9@+|3%g$j}j&2vqEPJ_eya= zubj9iJeR#gdMktVo%*+>jTut(Z_jE5dJ=iuj8^|=b`mM}^hp$PGC(l{KxHjKA;z9& zX8vj93#)>e7}-vK?X*}zReHD%4L}4`HXpv~Fyzowwr!?caTTE1AyGj5;shQHNJ>Gi zxDOu%IJS=iF%uk_SZ^07P*UVE3h7MPGcM+qF6RWCz>Ch{C1>>|Cyk{VzA@f1yIR|2 z;~s6g7~9i}#pR0wic51VBv7QYZ9p zI|F7CFQP`UY2;v-uCfE4nv;|!VMg#qaihHU>#_T+_wVHFn5I8l6Vv)fW z`;~Y?@8lprt%)jQPa%&*nvZ21gCk4TaeQMN)7<&pSIA*rNn1Q%Azs1S-gH+zD2Ce`2@+xGYK}+4!Fl6hK?f zi7x(e$aL?acwXWu5P<|8QK`7DJDwRYVr|%ip3S%dlVNrQl;|pw zP3?5#qr%3WrpS4#HZ!Fz_RW(D&6mE!`W9#0e*w8}apJa>G3iL8qN#E*Hh1K4H|_m( zO7EBfDu+nT$a6paq1o%#Y-Eon`1N3>m0K+V^{6w!K;}DvwV(KmaKRaI0$p6D@9TON zFil4e-EX)ktKB6=%<0G58R zF7SFHCvXYng9VG;*2)>7kML@LR*p^IrqhN?i%jusDQ=NojFq=N*DIq=T)4C-&W@Mh z#Qb$c`zsV1wAqmqw5^%R&CIRIuCLi+7ezxOjHeA6m;6urgFyntU~PyV?a0x{ie1|2 z*zs{W&0KF|`Nt_U*R4!#>;t>d-&Bg#^ODsq=(U7Ln)z;HVTajh->?;7jHpMmTi*Nb zQ823UdX0m}Zd+|0NYYTXIAR;b7T#GLw=O}YqeADL24HqeU;8wdaBV-&m~2d&dyMi zWu9?;aro^gD#o5cDGO{v4ZP3KTN2-)Z|8bFHE6y<_hb&gw~d&%+n89ywILNUy8Q*2 zswunmg{cBYk^!>*N^;^(w8CH(3Yy6#W8Q=4+l1=&v zF9|gXItt<&cg5Ou7OElv!AkkR(OTDISPu9^N)@zwY*DCs?YF)%Di1yk7$SO~&-0x< z>M^YOrUN9k@b4-p@nJKL(m!{40W2L{b%J;i&bJ-#Qqei4?gpw*Wk0rnUbo(m)EDHHFwXRNhz(VRQo2}wzrw7?L^6Rh5FMF?3*qC#x?f8eo9H}`0B5jTT#tQwmVmcZ++M?(Zk{~HKSjQT%S5z0p_yoKI1)y4+XEn{rJFz$GH!+{D z6gFDxj|?Q^0vu-ykkdQC(WOqXQgBoJ?hr-$^`vH+KgWNfc6`I50c;a5hNouda7?i} z5&I15ra!MLLMZ+!3tmd}G-A^z5p1=i|FdPt6}I1;O_g(U_MaobJfKby|I4!aTTU2E z{W!13sk&W5c?63!ZS%VhloRjVXmP`n+}2Ly;@MxbhiVD^iN_j@Rr`_*P+Gv3)A!E8*<=4^yn_VQ%Qu0-WW2YhtQf53ka^=3rV=;WlJyI z1pKF=DCt&CcEXK6YTib@1C2W)3PApwr-Z}=j1S)k$hSM2giBB=awqJ*`B|z8OP3-j z;KdLBel&3^DD80f=>Wmq^Rp7R*FYaUjNRPSaCbN?Cvfb}PfyL=+~zR%u~Nb71KpzJ z_Mbk;#(SO56RJADIB*Qy2M64v*`zZ(RGf)yH?_V+?j9SzUY(pf-22R^CPNMNH^L0b zcgq8UzS8!Oj3Aell>w(XrL1Z~Q+)v^u6TVim8{9#43@~#v9o$&nT|f_H3RWdXetzP zijaX~S1Fj%n##pI*l|lOgrkD6k!H#5@$H@X%`KYB*`jk`o^U(dYwg{9nLV=-z)n?I zmH`0&wl9Gq#YI2I&wg*y(vo#>-|eVJZQnR#UR2-D)Ovo=ZFMhm^XU*gzr|ZETG?|v zIQz6sezA3Xq)>R45dc%w6q5(@JqPw2#@{)^sXRb*>3l)_!!95Tr@b*kDQW3>+0o6u zuu)-0E1SfUDUB-T{<(X`nMVQtjemR394CT3O@aMs?dTEF>Y$}6YdS~q&*zJ_5s5hiEn7m3ktra)o z>pZ+NT>;-`h(7y=MGkXL)Ww`wK+jfBmg>SPE16r#pSbbi1N|RFZd@)l#Lk{ZuJwk! zIe<0va;g?k&Lk&k3*t-qs=pzJs{5eG9YNa;l*NFi?L~+2b6+<<_PtzLvJz0zvaoIu z&wMypc{wAeCIF#lU(N8$^<8cQP|mqP}P^L(!U1*v;n!ok|5R|Yk?dHr$ zvrp%l@%k71*_#UwXRPHC z-I->`4ow9uO@b_QR+{;1{PUJ^O&Z_hxz8Vm8^9W=rSRdkuvAj?S3eL~2hxgMqxNhh zv_3r|NWVuPSy;H=cpuyeBkrfXNsPqKD7f?T^7%--tJ?*e@FLz(^O2Xk)}x$4Npyl< zL@75Qbwj4hN5be&Os9~4bjJ;rGSuv0rHN&R+$(t~dt%Fp-jT&dua!og4Zd@MClH zV^24xpR)b^Ra3~?nt@U#FKn*PM69E1ilRGWM_Y_bb6N6eu@dHuaL@E=i+zeT?}y{f zU$1a2_A!^D*QlnZDKPk}F|YhNRtU^FTM|>Fo0X`R6O%zp;c!zNeEGOjb-(%!_ih#_B*ER`lGiT&@I zveH~LT0Djw1jzUCAqgIe5!?Gqj=$B)cvd39@B9p+_fIKMDj%z%q^4$OU;Vm|KSuzX ztGp}W&1?7-6#N+#u^sjK$;_f$ zX{4bdJhamG@;OhK!sVaf8yY-51(JcbqEIvYV`BDQp3q|hVt}uVgt2v$dO?jThi1Xu zN30&#R{HE8o}TVrZ1zb?wt(W$*>11#30}M%F0YW7bKXgR!w`yIsoTrU`IbWJ1?`@R zq>W^=7#wW&u}3mN(-ZbfpDu%`Yrl`dcYRWuorZ`tTtvxZTc&Eo(|R&C6&{xL|CXan z9}&zK{C7*^Tz(vh8;H^!r3kpd=n|XsJB4Y#I9ZU?Hgjk0VOZy%oJ*s6^nd!ONP3rF zY1eU;c<7cMGTeY4lU)!6|CugrT&}RP!u@vs+Rx zy4?F@u>DxtDBA4uduTg)Ue|l}yA#?N*KN{I)Xgo}7!W_G(wjbzAPi*}*=}uj#Xo+m zw^pIpf~Azlhm)?6Sea#ytwMwL9k>yI?2Zo?CUV+ z;OhbJ>wMI}ykcH5n4E>wkrts_MhhzD3dv~62-CT(-Iz|{2u=U;7y$h~lFR`5UP9mjUaq~!1n7Zxz?S4PD;!7Ft0 z(1omlED&85%zGI2 zx_<#n!(+-;1!w}#Z|ya2Yc;&tZ{ZD@+c@3oO6@Qkxh2J6)M2$M>m~?JY73kB&*496 z(rVgwSgg4bivAN|%KD#EYQL^tHZSMrONASChh}ckXD3Ww4=AP2>!YZ07smT)x(I+u&#&&2g_R?+ zG`0}*luAH2^z;C~xfnq$;sHf^DXJEPe0N@actl`Jl%Dep&-{hqQ>J}V|5gj7QdpSW z;&+90-ham_yBw)i+p5wmDQ@`$lf%LN`dh!@c7SJ3OzUqe5{nAy$htm9iQTY+>VQS{}bXOYaHS((MW_2)&s1kFTqfzXRN;Fd-u ztEDNI`2uIqlG9{(7L7+j-hF&NX)gCfctM7k6B7vA6)Qw)1k!UmbnG?3J8R&H%}MKc z*$g`s8=gXVp*K3l$}nZ7R-xPd!A;FZtow;r*Tlpwh>Fs}6e|hq!F&2!)#Xe}$x5%a zzf)_V)}Qpsf`N(-@{;mF|<-erefR$JLjGRI-<_T&|8lD{`u6(`CA%B@jt{U26 z#ZBD7v9++3&ZMUr^Z7@iy1~&^mlN<>z%y)7%ZO0WezR{Xcyl9MO6KL_uYgbhLe4OTt z8i}AO2M+cwO%5o2!ZLd)wl6<`SH@sDJJpJ3qd0)~uS~$iF>5ULRJZJNpuNn>6&gDh zC^N59SRw}Wz@o~7SNM16E@i!am%NPL@iGEM_N2r{;Z;T&7oj8VSj#-j~T=40%UuL0dC34po*~7 zFd&5)rhp(@TlQK0S3_+Q1)=R$W{9OrZMC|J#^b=d*Szf;RK#IljTnsSeIX?n@*yb~ zzpN+MFTw;nmwCdEIOeyuD3Q6;@xRK=6`s5vhf=(V=IHfJp0(&^;$!0hbu^i#{kETS zzkB_yU)*-0zpZO-Wc`Otce)5@zmX;oNx$Hx^{YMa#0j8-fH9{`HT*$EGx1qiB=A)% z+}hGV6x5}IBSl{Gb$C2Ni{q*P7d9~q>$|^~+Xl-ny=_v&Pd*~Dr<=?+uqGUl1G%jQ zDXY>Lv+5{}iokX3zq}F^iwyMZCAbEKdu1n`vp8vYs2H+Rng70D{b^O;ZrOuwx=(Xe z1>EA&e#Sp5_@z9RN@q-|IKel-oCnNOz7qSP=*V|v<+eq`gWPU{xc9_!@#_+mz5AxgRf0vtoa%rCqiEEw2jtWJKwLTMDam> z?Lc)zXl5a?)9aGw@GN=Ybf%C7*<^O4!7kB1ina`%79nJ)WkT3TdpY+Ml2wP`7mP_T zBO)5+2qNlyrRVh&86N2B=zq2ywHbF#Sn6LjwAnoy64=P8HPR-=wWE>L7Q@{i|5>|? zCg+%7q7OyU@G$PWP=y+Ff`>lllE>i@o=JPuJvn5zpDDIfU;lJ=w`1fv2P{Q~#m7M` zZ2ojpx67}(^TBR7HIkRVygHozC$<7wf&%QA_LQZbJt2Lzd{Dz>1V z3v!BOh#BJ=AE!*ZEKjw@bUx6hi+Ti4MSm;=;W6~ak6T=qo0-GJnz74z2@i(k=+WFS z#}g?dRQoc5Ze&^3#L)oc-Pzj{s@93#TQK^qznK4%q5p$QuDGP~JK6?|qveGsb6XY5L--+^z;agDEv;A$NWaZCN*<)?Wf5^T{-S!$);$ zY8Mz&hEe?b_-@vb3D#)XjL(UxKcF*1;UUas^Y3Ic7@aXoL3OLZ3dHS}jcoJfrR&%%Z0n$>Bm zH?yaqc3^k|>6wk&uD1RL&%O+iEX_vq3Mh++R844 zLi64UE@FS+6|RP6i#(og_7Aq@GttiPU_0&r* z1lF|Dp(F9N95CO$?NC(Up6^vYHR2jp{_HA6_P)QqWA!(xFo6TSSSR7XLsQ<$bo{%` zt`;L6<0>B6O9%4*l_CH){y!-K^+?>52CGlUQO@mI_G*|ya3(HVlhSrx7~B_S0gu8@ zm5kFZ)p&+ghKd(8^WM$8li{O-Y8_$2k8+jZW?9{eAXeRl{zbEi9L)jk4>o`Ct@1hw zmkqwIvFpcYr;_n#f~}&FvE{(E4!-Q z9UuU;=r5t7I#`}PFGT*!LWN~J(S1o$pq{5!9yW_l3ZX^mVU2?alHLD*YRxkHp8l7f z$-AWNud9E;nkfuS{Os6@(t(dm0(;y|(qt>8PNAdWZ<1$nM0iS2+k#SGHu4cvZE8_n zRxu-^R0^N^TBqyCBuG!`M4Mq^0O-SI!{#O=cc2p)GHSd>t)Y!7^?ov$dDO^V%W6q8 z1iI$aDzXsSHWEkEyS(n&CXR`K&_pkFmD1Cg->}@DTCVl`bCTSqN1L@>**G@x?k1xL z%gkW(!1Pa#rXJ&S@S=eD%PXG2R9+!V-{`1F}zPZ$%x6HoT_7wQT%ZAj8h{WrNM60|uR=eCHbDsN_XqC%@k^6!F+b_=P zT`s7LU?wHiu=d=cTJqm~2{Qu=WRE{GOi5Hk%7FYa?)=4heJH zBQZT0`tEhGe-ArrbK1Y1pgXM?i}lD?9MXd#QKrBrg~MNQf2xM+&0)o)UN{xL2*k~z z#x1_pC1g!-p2ajTx;kP5;ef(JbqnSnTB&;GuQT+cvo-m6KpK(~Pp+1eup@4qF?_(H z$RZ_Tup?>CbHw5PaU#6^UUe4(%UJGmkQsfItlEK)@Strz0e-gsh=j0{6{m@j< zm<_-5adrms<6r(Aq|V_~RMsfkiOWz8Q5=%f(VyHk$XD2ZZ>ZUjMz=3xml_&7wYVGZ zwI|%^bCyd|tB;WC7qASJe>yg-&v$P~{Yx04i9d;UW|2?%un-Ke=iajCH}sZgfdx|T zNtYi?z-o+by2`P)!g+3sV&`oD*hJ10o=*tU-E9;$&2W~dpEDjmj|cq<{jgB>WHYI+ z#MoL*@JlvzlEEUse3mhz-+tK?WdQ(O*!_6J;9`!QFSm8kgaLkJC6y#9zZeDme>?Bc A>i_@% literal 0 HcmV?d00001 diff --git a/Dev-C++/image/DEV05.png b/Dev-C++/image/DEV05.png new file mode 100644 index 0000000000000000000000000000000000000000..7979a07529e3bc4a4532e42ab6434f55fa91f9e7 GIT binary patch literal 24540 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 literal 0 HcmV?d00001 diff --git a/Dev-C++/image/DEV07.png b/Dev-C++/image/DEV07.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4cd65c339686375b601f0c19f5741bca698b4f GIT binary patch literal 5439 zcmZ9QWmJ?w+s79~mQX^v8h#$>U(7`yVWc-sl0> zP1V>P03hi6*D#W~324v|=%J>i1YE--eT>2U2vJu4AEadDA?N8~?+OEyRSu}4(Gw3e zQiQnMz#QB>99&%hB)Cj0XpZ-fE4aG(z#Q!CJpf+_2gK2o;6D@wvHB-v^l)&70E8|G zanUol|7P@DZ9U*tFbKfR?ctvs|3ASU+-;y%XekWP_~UCV8sq%KhE^~a2NyfQ51P$z zGz0$kc~6)P1aS5ciu#{S!PVIr;^F}~A4q9OGwgpdu!9E_0{FZ?#sL73;;AXhfxWZ# zvYnwcJ?TA&{^{ZZRqmco6(Bp656^oFve~tK<@8vGy1X*MPaT&vnPmws%HW^{;Yb-; zoga2-@)>-s+_a_fjO)JP^mr7a&$gQ%PdHg~l#Rv&8Z|kMMv?M(teJoIp$gSBF@Tr=XoXkoZ zi6}|aJV?|ot$3cSp0A}v&g)TyWhK?(_(`kd-k%3QJT&zal?%1Gx9&uPYP zdh>*LmFyJMHs)#`6oK$Kl)+v?M|A{n1h>cj9s&lZJG z(eFdku1Psycvl|MnM+T{mge`VW>i634*2reuYI{KR)(urz?kn{z0V^<5f^zEqu|#Z z7|WSWzv&QdLw!H%zDP^RI$J*p$|%EaJD%b*lHl*P8{XgiKoFInH0|jx%@9|0FV+Dw zdV<_3i<;M|rCmiWKUK{4 z8|~Vw%a@LcHU?BST25lr_dxolDgs?nTr5m)N%|IZS2-G|vXg66RUQ1m9IWpdc*7S& zB{kU=aPxP2JH4U3u`%^6Z<-F&1{)-OcdCaC1ge#e_tp-y)=-v1L%z*?OTL_jGcD+T z{3{gl)FqZCb-6Yy4<&9arJ>xPhvc#$lpZ)5lnZIUXS>Lj#P|`VL2-Fp6*x50c;A+% z1qqz;Y(*|QF0}=Ccz7gf)>$OZLdl=0C6I5xDWYCae>d5>xjR7QR#sMurAifk_Vx7@ zJ@RJ(;UEd3Puj^Z@%md+KJyKw_6?lrn{X+ zv<$8M3g?!R`DoF4!n6jjutxd0VpN~+I)uTO*pBL}j2HJeQY~`4UUFGA;7^T?23Mj$ z>i53U(b3g`ch_RGJfsP%?l93fW@b(ZGu5w5>;51V;R`U%wRYtHIaBl`2#I{_ zy12dwU#x)w8T`Y3a=;m}F=?g!)11tfJwtn*x=`Q*Z5w&~8F6HHf;v1k2%zbd4f+@> z6^w99NQspO=et+K~%Xkt9+uZxhMZvYHCss+DO-wi(xHY%1vfgdv<+)hm!!VULs9uL&$XW^BIB- zd~}5bgE(1r6~WKOH8YBBZ<%`&#cf<<(oZ2j4#DvD6M`Jm`%W|X_`_*kL_vfFDaH(Z zmBD8%MubaTheY5Yo$giLafgpV^pmwQLF%Qz%=oRGU#K(8!`1MmHa1s%&Sc3eit;%K zp5wZQXTOk=&4Wu6dSOD_fB!P(=h}pgw@A$Vf={=@<{=p&tD9P<6c&o29ub8qv9<17 z+8R0wEs+E`WZ=^NkLp;8zb`Z6@;gKGYVzZKb8}x-MW;+PZ3@Y6%uSG%KO6%4_X|04 zy4NUTUNj98{vbqLDx4oYaG3I1nRN0l1@jc3^!#t%Wtn~VS~MN zgo{Ee8`ta=z?B)N_&|%q&*PP-M=z1V&>Le?T=j85Ql{X@MdDuD`bwDPD$E8X-fgf;2|+``B`)=EWT~jljiuU%Ayf_ z!`Ac9VJ%#hh=?(rLc4B4^EH?e16LQjq>;>ZD`Nndz{=FmA1rG*=gJe7r^!WZAS4Aw zn}qL!6{RFbXeiFoozmmxMXW&S@_*@?i?|mnEG#tr?)B8_!bRP4&IO}kQ<^)fV}1SY zEUa9*pyL+x-DiBRN-g1~zv^dyoOsU9)&sZ7#x7&`Ez6R6dMTfiEbgOE5*;LYF;XoR zF|@=3%_yJgVY^B>evM;&^)WgN^dz3ID33fQD=*0>q97yWoBtJTvhR!fRuw1viCI}& zoAlSxoZ90e6pDCkyj8EJX?HK~bqIe=D%13o@y%YSd;7(7yAs{^kp4Y6B2xp?J7DI6 zmx)iQt~b2fqQ8z*96`cj)PYHEs*?r&Qp2E%vXfy?8gH>!RuMXz~DiyS88w-4l;_!;Ns>9zS^X}g-ny?{?G{u6S-FUl(q$3{;|6UHi;tbzv`Fz6%Mz%u zOsR_;8H;75I~F3CO0ZruX1djgBP@J2$XM0#wm7=$X#|xW<9o?kldvGebrbI)2jR6q zHq9!JDEVMIY=bIuvxb3M7VTne`zNwCp-k06uQ|(=^N8h)Li^cPU{p+JNzcDt_iBbK7FGA^p;3d-a5_q#=qOsI2x$65RLWov&ZPU^gK*u>-Dx3Hw~ zQnF)d4Xljqy$Wl-ZOKGU_ITFd{eW&y^8PVZ zVS)VHxo4jdg)GsX6bz2n_|gpZ=K8a-s{A5C#_+sd@{J*XJ8@jo+0ab!$dwab|7}ZL z+A1g8za=ZYqiprIe|^MgBKMhf_ieS`g$t@~w&tdwf<=^;fTC#7;4IWw9O2iPN*Hi) zevY;&iHJYJ07Hhrv~I$feAZa{2L@?J2lj0K&BV*k2%M_v@cFgwJs3+;nuYwd=P5Mh zOOBGBkf4@QN~tO*o}>6+s4IM}&!-w?afunix^m{*?6wjj6suIfglRr7WFhg9il2`o z!x7(6df2_KuWfJ0qF3c~U^bqegCic2Uj9n@H*(QjGODAmJayK4S0wAtmFF=Z^NzPC z!#9iEI8=&jfWM6J!jwIgSCWHU7QUFd7M-Y*m9y(Z@7Cscav!F@ z-w3{GvlqsX3KsUIYA0%Qev!KJYiPY&GDuIQM`Xz$PBJGZCWvsb4sY&Ks#E&s+X)b2 zV2I-TZBHz@>dj4oa9*?dw(Jaz)TZ)wh9H%tho=|XW_Fh}OFz~w)-G-;)ZPq;z?o#; zr?Y_#@$?Oi+;1sS(w9H3_h?Yl?q}(CIP13hwSJs-pYZ;b?e5^T0M*U6>9$Rh$(pq* z95VUmt4jS|ut92G=zRC(RK;U~;W;Hp?(g$Y!5I5~H_rQ%boG5{Cd~=K2LXf@0j)yH zBeY*pIQ>>NpRYUlif#20AnB(uG=i;H?B&`yJiP)w(`KeiE$K8gA_bGvg^Lc+Er*|C z*V=p%uLbOk#9qic>n{D6xw{ZJU2wl-!__4vRwB+FHe5cUl@sH^KH)#e6~i8pKCs|Q zW=>WgMc253bP~3$#FB=By6eXc&bL=(r94dOh`l|KiVnfY_lM)T_a5f9pC99OLhv;8 z^;^nF3A1H}Q$K_g3sn^GkGqKE3JV{%(+KBn&RLy{O%Cp`h@RYu@$iPYFhm%#**;4S zxVF>RA1x_4%obDl6G?KZqI?(~yY@SVVq#}!WWR+3GDywd2$h?yeGF%`)H;C<6}z}9 zh!wz$@CN!#ci6i${>~WQ>F7^hS2|=sY%J7!qS-U>NxY*L>4jSp$3MV~)V&vLw3vh$ zNUH$W7A8HU8B!HS;3T0^<&#?&C==lcA6Ql;ZOCCF9O(yRa60s(=3H*s>PLh?Jsjb$AOt*)3Tm`VkV#{3~+W%9ubKzy z`wE|+-OSx!K`xsYQ~+^%045Qg;Uj0S-*7O!X)y98RFuFSRrVmiF%sqY>L$YWo<>r& zWoD|Oiu9=WQ&b-d$F=3#yw6xSzbt|A-uD-!^VI09${8Ki?e6K()%Tn-bfQJ}9}|-i zMSF}y1>hG>+^$)X65w zDcecC5IpK7V6IS!R56Ko4^L{j+EfP#evF8UsBc$)QJZRM%sr0s(w+vlWEvr8;#D>F z0p_c+P9iVI->8__yB_ckbxll=mVx^+9)2Bx@jq^@#mboP+N2S;FS!PMdOuC2->$>q z>j7#MR~4~ZVXO$~iO~G+J|Cf=ZJMn(H_bG#zAB$x=SPPfq4>?=X)AbTl#nRawdhRt z{buoB83n}WLG}jn5V?phAmapP1&u=tAyH|CY?Fe5!oNS*Uli2Aw$@lm;Xb`&GZUM2Ot!Fd|b@ z$TKoBX1+R*XlZGoEzt;nPi#P@|MF;3%kN8!{eH<4B?%^|lPmgEEgW;*HC}Ps(txPN z^=gqqEJqlt=mmo#I@&>#6}dF3&q>VyIuaeP80T3l<`fbGm;dl z5%qAA9qv)>W+nMiZTT9h=D#+NvEJaE=Qca*k}y;&;XK9I=(6?xW!bejZpC!Svw@Mu zZCIJbRGfK!?qa=%vhRuRq~cW8DTq-$rDXbsYq)1WC+cR&@`f208E%U&okqzFs>C$V z{L4n5=ru+^?*w+TsTv#7I8A>Qm9-qjKwGMvy*gH`@r01D&bkZlHn4rX#6(td(!8)f zV`d(FzGM0VmeeE-=6?n9{o=S-mS$O$_^2iuirWY#nz3ggom2SI^izPtBtp@Gxv2{p zUQayf9Fjxc`(oysXE{2QV#?qPwnA|cMOJ%*i$2O>%0U4Y!ysaB(6sGK`9Hi^?Zal5|lXiF?8-Qa(uNKEh2f@T zxTl!TJ;AtI(NsF|F$k%NSi|>{; z114)CC5MvA;{d>go?d9LTs}@B{Fd*Vm(04}U0e~5MBH8MRw9fwGGtfOZ$i@JSXa4@ zs4qo}b=9V4(iW5Y+O61ui}G|3knP#|nl)p@Mx8a}`67>uj7;>{mNMq(=qUdY=f~o) zG=s+?N~I>a_p79ndgDi;7jUy>4A0$G|{vItveU^yNFM-QAd*Mn0lE-fvik=!@{4~1_|_e&_rE4kvHu;9U;ezRj*yJ+=Yrup_ilit)G zueMRNN38k$GTL?hTX~wTG;sahfRO^DP9x5Yx;XIQ?UtgqBBVf+(_}9s;5KSgA^-35 z{Je-%OJLdG=l=24!G+4ePX8T;nS}D4umXi-+hKa5X%$9^`|F zDl#%J-tArg^v4jRWd?FI7njg(A$E}stQdi2+da*SKHu)VxmfDnhQw5KTxb70=Ncl* zNmFjZIoQ2h4}feo@3{gT58P=t^PUd#5J#}k2)MernrJ#~gA~3kYrci~4pKV<{BFtT zcBpN#g;!Q=x8EM{+ciHGA4T82yJKIqu6-8QVa{~LOl{j@-Ti$W(kmc}c`Zf&7oobdU zpu5kvu@a({Fkn#Vgj_hmtZzUAsb6?a0D@v^6=7M_Zp-ZfWU%cP^R34bXxVG&LM4+$X%uJGM3!0J&b1 zRgk4_M9(kWMdVbCiOtR$g$$)5;T;FB zPTx~INSScR&tqfiDc+d!R?t4kHDtl5 zd|esf@(nEh9AI9fwuuq_vpV@VQ^XqrC}g;w22W9pxE07HynH{r=t&>smWLSMNNt-_Fx!-8{)Z-HEi#q!eabIh~56LGW7SuUY} za>FD)M{$8tA$>9?e0=mS73E-$`#JiT?!>Q(g{dmJJL$=m0xGrk0W?fnyfeD(lcjy# zXX&$DcTYr5Tl2_3Vbgo$sgbz)TqAm-G}6Z5M1XQMB%He$8H0LA$*F~M}rDD-O283J}p-J zTlckrFD5~U`tS7Am`@EbPnwhm0OO}(Q@<9qlj=PZS({K25|V}a`Sqa`W}K#u4vFjQ zYv1cbvRcDRysG0|1sRD3`D+spSzWITtqPX4teGCrIfwPtd24iB|HRXHNjUMbr$Iw| zSAiLJ8cM_l`NlNKng8AwCT+eRnbY|0;crpQ0s=1-BR%H{d4QUlk3XX(>=q`2j-j(R z2A7dmA50svI2tq<0T!;V)x{r!Lf6{;QsU#U`NKS?2ui}VsFn4H*{KX#fX2oSV#NM% zp<`)n_SKvmDwoyvvH=-(+|lS^86Ue9%;nrDo-q}BUBl#MuDV3F%B@zbJrp_VwSJA?d0*VMORF}S{~~}$v0u|BKR`9P<<8w>ihv$x#nzym;^H7TphI1I zCSMnuRF(#b=1qmTWRrSJy9}T35iE|B*n>+E%IN9Y=|^qn0?U#I62?4x9uhZC%_&@# zsJ#}v#>%M7{t?iaPap2?k{GVrIx>!Zgrp_hTgcMGtotQRY!Nt(>JfK)Pq5A}Em{o9%7>3YiJAwIu0dnyz=Os>@2J@KQKKuPok&&E> zpWOxH&IEWGh($(2tv2AgDuy4X!FYN{CxPMmpDXen%l9vG#C@7Q|EQmKa`yHPDe?*; zMR%XuqKc-w-Q49Z%@o(EZ3-6LFbkmQpjOz5_%V4o*h-)bmY<6u^-NqLJuqY&yJv?n z*xK3oJ>I(i2#NAU@_f<<&nN7R?jS7 zkoiu=Od(bc14Dyol&7;ISUyFD)lgD`zCsQh*rDDF|NA_;(+XDUT@pjY$Bj@49ZyRyYuBcBz;$Y`yph-d;W$giixinS^JYQ zq5}^Z8&=>U#>F;fRp#mKnbqoj(W*0UNaw>k4MMZWj*4OvVLDQT!t!XngQ!Tj9MwpH z@BnU; zk51JzR?@YpP{lHu;S~JHg0*bd>vECCZh%uLr%VTK|n z6_B!-ZP}LMk&*-${rTF)wpZW*sUqb_MLB-WZQ5SykyUNdHqa4pgCKmpvbJXD?q2%@ zIi!~#&s;1~=1s%By76zUiqYXHj`>`IGuh2jqJ;HwsVUUi@UFMMT-rbfXHr$vV8o0T zc}B3A5UB_5%aK)VJ8=4D7V;#BP*_;lb0h4sT1Wahgnn}~i|A{BbXFyaq4z2fj5YTwPNcrU$l-x|`^B*UXUZ{Vdx zx%PM2v{|jotk-D}>Z0;g%ziC5%eo0Pn2M;uhcxZ9F)eI7=3YdaRyG?QkN1&(ur%J| zW9XGRMY5F@?g=vwAo^&$RA_T?acOg9gb8M4I)^o+r&u0RLDxSn4sc5$KYp*_89UWkv;RT3OJMYTDFQh zST1=yPzluI%SIhsE{7)6Szo$A8Y~`3Ayf!r2RSAmoOm1_I-N>BE@Hy%%kq8dPmz2O zB%+eQQ7OCEV~{)2mT_U%t4K*Yj7h3Ob>Fub+B#L0+`Y z4kzTW;WH$L-8$l@>j+}18m0|l>pO*p`=}qe$86cKSgo(>6}OMcF#-VYbuhM_zCPq6 zzmp4Oy8}M_U;0cwm zM#q4&wg?A%CXCjlt5qLd#*GsN`H!D6%)IK-IE9Ne4 z0R*abd=XIt_+&gq-R>N7ja)r4GFClOx`xODhUk{I#Ih>ZGt+A-Oe3w@b##wGlM_63 z$#F3OXvz6?-GdTcO(uFOU(2(hC7_!=vSpB>}p6x#>}VM6dcjtfHUdX{7q( zid?_?<3q&**FGOtvQpDF|ezY*iOtLR=OdUodOdLDiMnvG3vH6?pDBsU__~px$Y-v zJeK8Hpl;Gu(p$#$*lXH_3zeqiETD%mQ${#sOaBvI+T59sVAkgo%=X_tN9Qv!g^EV& zl2cigEpR;^Yu_uP2-K}1U5+{*-jS0VXE1pY4kpxf2iYdp?@E>z{W|5-CH9>!*Dg0*6r{jG$6WMrA)** zn-r_ET$@duL6!tbcymIJbujD5=fLJp$S*K3TgIXibmr4|o3Y7)&i#j9*Jy8bQ@=R- zGZY_#q#g@huQ;1x(5r=+rJ*$0>*@Zg^Sfa_!tK)9GjThOKh|3%J=Px~hLBAbk!#Z1 z2Hj#^miwMsPHumE`Xuy#fB)}hXgzOE-fsSEkfJaY&6b>x0)qJUGB06Dkx^t$I8q? z^ZCU%S{UMo`M5W}duvt<3T-(=XHdI4ttg?{knYZ16IyI+t8He!f9>C=80hv1p{ml>A*PCCdGHtg%rI$AV1iyd8^EF;sAdpfzl6VXkRn-)#n> zC;ISC;bPT;|658v;Ix)`RJ>GWf#edqQO~95KZdan>sue1=HBJv$QHm?L#g1Mx6S4d zvVGelQ+CY9wUOKy{;NrCw7^^$E%9doZPip|H~4i0kk$3z^;=D+lmqQVGon5382jG7 z2FMLhk~Il!+IZscZ?wTwp5=F8yG8t9u1k9UxMmc&fcYP-_W z{?wV2wt!+uR&5QFghZt$-aP4%G4Zi|p6s}`v*fVWsFs2uzg>p7d~3gTLm27 zD?yps{SBbZi(!Qt7%?~l9;!xi?;&GZj1-@pD5k&_miLy`4TBgh-)~x0-Q;DtOS*FV zalPjWW3>u;IKBADq?K0(uhabqzD#7Q`={F1`Z}nt;-+B*8JDFddpW)((FtCj>yfeX z#wgHvmzDid62fAN*HZp2t>Q4mMw_s=asN8Vnqw+>fk@&ooRF!p!M*UwrNM4{Q zyw*wZ6PeFQ(qHRznI;ZJPvS^wd?@Gp_M!EQO7?F{<~ z?>S7z0mNPphw$>(@x-i)y0OoxUyU94AzNS)wK8pVUdvuCI#C@f2N`Urys4> zGHzLoBoR|L7%W$wYNM_k{8Hx79HLj$k@iuSB#5T_fQb6F3N8Q3O%gXN0`Gr>{QZ0N9CXn@9IXZZ zl=3Y84x{gU6&oBRmJqxP1!#~6^iMYnAD4+w!uk%8UW#KH77@u>*oiCp8H&suN zpXU{`g9xV)OJNVmm@L`!#v@iu&-?DNn9KIv~pQ|aD)c9S;eLf)jV#VxB zsh{R06h7Bl#UrdFq~6pm{mv|o?|K3j+#UZI)mz0sN^>gx6?s{4I6;yQ0Lq@;mup|g z5OO+G2$t)?e%i_k7K|||!Lz^_;ELDooG#(q2x<2T{&_#@NI#O8z0A~v9oO(o)gyKM zFY9F2@>EQPKKrCNOLhSr;ark?!>!pF*iAEyJFYqeZ^|680fWbGWyxcm5#W2upM%-R zzF(Q_7+>)@Frn_wGzF`@tUld~*!LU}l9X|!?{|)fGR~(S;sZ_lQqL$V%jcW8mzrhr z`eT#PS@`QH67z?EfsAp@+?IEBCoZ6396dynfM2)d-3zk7ws^Z~tJIGV@0Un#@f+eq z+rasusI?a@F?!e3rz>1r3^lda5oaHGa{LrvCIO!UvKj8+J7zz>YvPe@7l`b! zgmZlpqwkE~Hp4HrbMidgM^dfyY?)dc84~*CX4$jLp4x?yNu@ieh=li4>$Txn4azmp zS47nVAVl4J%Ltn}+{r9xx7}*vkLy6X)amB*>j&?8#bX7fGbU!k6B7frxz*pPv z`(?{&0@i2QUfm>__I0C`sFJkS92uwX8#XT@{&3vw@B-A5tR zd2pRwNY}L7%L%(OZBHx^iYtA{@>Q-3D?nbh6C>CUW2OS`<SesuRVRyF zEnhAe6+6F8R0N=eh!Y{ zuV3iZ5I@hIWZ+%g9d|BG&5Rux%>q*saH<$l*T{U)N6>44-9<`l{C@OdG_o}wD7>P^ zarHv8=J$14e0j9U?OoK@1G8~G90AH=@~iLSV&$g(J1>n-pSy(Ak_>gb-V|eyrAr$%+t!5tfS^#1 zW*o;5y1GNjuO5!BhImZ1s6CwPA&F75W!M9gz=~BLkdE7p{Nj(&g-GyrO zWNUy+EC-G71PFq+4+ z-{iAFsr9rK^GPk?r)+|R;KhSa-XU{a2dwJ!!-(vJvT=YK8QwmYSO2Opp#lFBPfLsS z?!*6!tpBGrT}o>BPYL{Lh)x0Hf2t2rB_OoLZ<^p3fLq>#K>YcklWhL?e?S<(jph_3 zW=pfvy-=l8?_qBlpeoCdRF%iTfrC?6^04sh%|tu*krSfY6uC>|A3qW&|Mrlv^g(;_ z%=E9)Iz&P5ycn)N*Ss?VB7Y6sLM6~B-3XFjzgZQ9ZZ)*SYAAUG8sstqCF7y&tChLT z+~o-~Q-1J7581k*UpDyZswkhXECd04q{lf%O(;oz{6p0Jl(eCUexZcWLb%q8vygPJ z`WCv8AO19Oyw@#6!?=2_+CB>4mf%hq8C9YMU-bFTre*Qyd!=@bP{&o#vD%?Gy~LcV zG9wY!%x+Sc@Z`|E5x^*?-DV^FiU|kc-KtL6>*03Dfq_&RNWS7-O|#5(ir;?VbL&(3 zjA4Y$`tuJ8ZRvf>YS=&>@~5}ny|nD-EI2+9@Lehe)Y?IiS^?Z2)x}OUZRE0|k}|FK zIdj1MTpX3@O_hdzBy;3*CS7GW)dr0Qw)K0U$op9pY*~7a!2q7UqA4+B{bU#W6{5yc z(q;`2sBDpbJ2kHu(Fq+sF?7o}%Te?Sy!y19FLLNq;GPZic{3It1qv%%5@HKK#~dw!&`wCANwe34pa3d*cmV!8-4XgnX%1yW>U%g8x;q(H8;_68J6?Xe5)yg zLRMwPDrzkZ3R{|2>7mL8?n!F0uUdv#S?bCy<9N@y^|M=h-pooQJN1rf`)u0=z=**$nM9=Um_LQ}|q zlpIxEHdKWnl<=s{`q72aLUd+DYm%1EIT7RMALTz)*GG;j^93q(Midr16m|`Ik4r=< z-4btpzLWjoR9^ye@*VWfjZP=c3?(F1SF({_tI=BPe{Jn8yI^l&l+OTUXXc1pY-=kZ zHiU+~v$Q8ScJ6W=G_nuH&wYS}31BleAK~V0nyr1Wg@_pX%&^L}OayhiQ_>3%mu`u~ z2`>4%(_^2l2n4->p=N)5gyn`Q}p%0Q{pKG>ix(mmT>vJGTL}M74W`RPr z5G9e1;Ed^#Vn^ox@$mngy)<}Twjid39h&lj7fPcvlA)lG3cs~RP?lGhgUOhG`d^hO Bv&jGe literal 0 HcmV?d00001 diff --git a/Dev-C++/image/DEV09.png b/Dev-C++/image/DEV09.png new file mode 100644 index 0000000000000000000000000000000000000000..4f975f8f9dbcc57039afd4a0d7fb41109a9e4dd3 GIT binary patch literal 23161 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index dee93d3..c4f602d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## 项目介绍 -本项目与教材《**数据结构-C语言版**》[严蔚敏,吴伟民版]以及《**数据结构题集-C语言版**》[严蔚敏,吴伟民,米宁版]配套。 +本项目中的源码与教材《**数据结构-C语言版**》[严蔚敏,吴伟民版]以及《**数据结构题集-C语言版**》[严蔚敏,吴伟民,米宁版]配套。 | 数据结构教材 | 数据结构题集 | | :----------------------------: | :----------------------------: | @@ -12,7 +12,7 @@ ## 项目结构 -本项目分为4个版本,分别是:**CFree**、**Dev-C++**、**CLion**、**VisualC++**,其中: +本项目包含了**教材源码**跟**习题源码**,并分为4个版本,分别是:**CFree**、**Dev-C++**、**CLion**、**VisualC++**,其中: - **CFree** 版本是早期上传的完整版本,该版本在CFree这个IDE下测试通过。此版本中的代码虽有瑕疵,但不会再维护,新的更新会在下面三个分支版本中呈现。 - **Dev-C++** 版本是指在Dev-C++这个IDE下测试通过的版本。 @@ -26,12 +26,16 @@ > >> CLion需要掌握一点cmake知识,对笔记本性能要求也略高。不过JetBrains系列的产品,功能优秀没得说,强烈建议尝试。 > ->> Microsoft Visual C++是微软出品,该系列号称地表最强,不过复杂度也是很高,对于新手并不友好,需要耐心琢磨。如果将来不是走C/C++/C#等路线,可以先不使用(注:从2018年开始,计算机二级C语言项目的考试中,已将VC++6换成了Microsoft Visual C++ 2010。所以如果有考级需求的同学,请自行熟悉该IDE) +>> Microsoft Visual C++是微软出品,该系列号称地表最强,不过复杂度也是很高,对于新手并不友好,需要耐心琢磨。如果将来不是走C/C++/C#等路线,可以先不使用。(注:从2018年开始,计算机二级C语言项目的考试中,已将VC++6换成了Microsoft Visual C++ 2010。所以如果有考级需求的同学,请自行熟悉该IDE) + +**习题解析**中存储了《数据结构题集》中非代码题的解析,对于需要写代码解决的问题,参见 **Dev-C++**、**CLion**、**VisualC++** 这三个版本中的源码。 ``` 注: -1. "CFree"是完整版本。"Dev-C++"/"CLion"/"VisualC++"是新增的版本,后续会抽空更新,直到最终取代"CFree"版本。 -2. 这4个版本各自独立,没有任何依赖关系,可单独运行/测试。 +1. "CFree"是完整版本。"Dev-C++"/"CLion"/"VisualC++"是新增的版本,这三个版本最终会取代"CFree"版本。 +2. "CFree"版本既可以用CFree直接打开,也支持用Dev-C++打开,所以当使用CFree遇到兼容问题时,可尝试用Dev-C++。 +3. 上述四个版本各自独立,没有任何依赖关系,可单独运行/测试。 +4. 对所有版本的代码均未充分测试,所以如有BUG请到Issues反馈。 ``` @@ -39,10 +43,12 @@ 总的目标是保障正确性,提高可读性,降低学习难度,具体来说包含以下几点: -1. 修复一些已知/潜在的BUG -2. 简化源码之间的引用关系,争取每个模块都可以单独运行测试 -3. 修剪被引用源码中的次要内容,使得焦点更聚集,重点更突出 -4. 增加注释与帮助信息,使源码展示更友好 +1. 项目工程化★★ +2. 修复一些已知/潜在的BUG +3. 简化源码之间的引用关系,争取每个模块都可以单独运行测试 +4. 修剪被引用源码中的次要内容,使得焦点更聚集,重点更突出 +5. 增加注释与帮助信息,使源码展示更友好 +6. 出自教材中的算法,会尽量使其代码与教材一致,如有改动,会在注释中提示。其它算法会视情形书写,不唯一 ## 使用方式 @@ -87,5 +93,17 @@ Commit信息中的`emoji`参考来源: ## 附:教材源码目录 -| 章 | 节 | 内容 | 包含算法 | 备注 | -| :-- | :-- | :-- | :------ | :-- | +| 章 | 节 | 内容 | 包含算法 | 备注 | +| :------- | :---------- | :----------- | :-------------------- | :------------------- | +| 01 绪论 | | | | 定义一些共享常量和函数 | +| 02 线性表 | SqList | 顺序表 | 2.3、2.4、2.5、2.6 | | +| | Union | A=A∪B | 2.1 | | +| | MergeSqList | C=A+B | 2.2、2.7 | 归并顺序表 | +| | LinkList | 链表 | 2.8、2.9、2.10、2.11 | | +| | MergeList | C=A+B | 2.12 | 归并链表 | +| | SLinkList | 静态链表 | 2.13、2.14、2.15、2.16 | | +| | Difference | (A-B)∪(B-A) | 2.17 | | +| | DuLinkList | 双向循环链表 | 2.18、2.19 | | +| | ELinkList | 扩展的线性链表 | 2.20 | | +| | MergeEList | C=A+B | 2.21 | 归并扩展的线性链表 | +| | Polynomial | 一元多项式 | 2.22、2.23 | | diff --git a/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj new file mode 100644 index 0000000..e252679 --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + {4DDF7C1A-9DF8-4983-B478-1B8928B8A239} + My0201_SqList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.filters b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.filters new file mode 100644 index 0000000..2a3720a --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.user b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/0201_SqList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0201_SqList/SqList-main.c b/VisualC++/CourseBook/0201_SqList/SqList-main.c new file mode 100644 index 0000000..340e16e --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/SqList-main.c @@ -0,0 +1,170 @@ +#include +#include "SqList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SqList L; // ˳ + + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ˳ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" Ϊʾ L %d λò \"%d\"...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + i = ListLength(L); + printf(" L ijΪ %d \n", i); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", L.elem[i - 1]); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + + ClearList(&L); + + printf(" L "); + if(ListEmpty(L) == TRUE) { + printf(" L Ϊգ\n"); + } else { + printf(" L Ϊգ\n"); + } + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + if(L.elem != NULL) { + printf(" L ڣ\n"); + } else { + printf(" L ڣ\n"); + } + + DestroyList(&L); + + printf(" L "); + if(L.elem != NULL) { + printf(" L ڣ\n"); + } else { + printf(" L ڣ\n"); + } + } + PressEnterToContinue(); + + + return 0; +} diff --git a/VisualC++/CourseBook/0201_SqList/SqList.c b/VisualC++/CourseBook/0201_SqList/SqList.c new file mode 100644 index 0000000..f797103 --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/SqList.c @@ -0,0 +1,337 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * (ṹ) + * + * ͷ˳ռڴ档 + */ +Status DestroyList(SqList* L) { + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // ͷ˳ڴ + free((*L).elem); + + // ͷڴÿָ + (*L).elem = NULL; + + // ˳ȸ + (*L).length = 0; + (*L).listsize = 0; + + return OK; +} + +/* + * ÿ() + * + * ֻ˳д洢ݣͷ˳ռڴ档 + */ +Status ClearList(SqList* L) { + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + (*L).length = 0; + + return OK; +} + +/* + * п + * + * ж˳ǷЧݡ + * + * ֵ + * TRUE : ˳Ϊ + * FALSE: ˳Ϊ + */ +Status ListEmpty(SqList L) { + return L.length == 0 ? TRUE : FALSE; +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e) { + int i; + + // ȷ˳ṹڣٰԪ + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // iʼΪ1Ԫصġ + i = 0; + + // ӵ1Ԫؿʼcur_eλ + while(i < L.length && L.elem[i] != cur_e) { + ++i; + } + + // cur_e׸Ԫ(ûǰ)ûҵԪcur_eERROR + if(i==0 || i >= L.length) { + return ERROR; + } + + // 洢cur_eǰ + *pre_e = L.elem[i - 1]; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e) { + int i; + + // ȷ˳ṹڣٰԪ + if(L.elem == NULL || L.length < 2) { + return ERROR; + } + + // iʼΪ1Ԫصġ + i = 0; + + // ӵ1Ԫؿʼcur_eλ + while(i < L.length-1 && L.elem[i] != cur_e) { + ++i; + } + + // cur_e1Ԫ(ûǰ)ûҵԪcur_eERROR + if(i >= L.length-1) { + return ERROR; + } + + // 洢cur_eǰ + *next_e = L.elem[i + 1]; + + return OK; +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * 㷨2.5 + * + * ɾ + * + * ɾ˳iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SqList* L, int i, ElemType* e) { + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length) { + return ERROR; + } + + // pΪɾԪصλ + p = &(*L).elem[i - 1]; + + // 1.ȡɾԪ + *e = *p; + + // βԪλ + q = (*L).elem + (*L).length - 1; + + // 2.ԪأɾԪصλϻԪؽ + for(++p; p <= q; ++p) { + *(p - 1) = *p; + } + + // 3.1 + (*L).length--; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/CourseBook/0201_SqList/SqList.h b/VisualC++/CourseBook/0201_SqList/SqList.h new file mode 100644 index 0000000..602ec4e --- /dev/null +++ b/VisualC++/CourseBook/0201_SqList/SqList.h @@ -0,0 +1,149 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * (ṹ) + * + * ͷ˳ռڴ档 + */ +Status DestroyList(SqList* L); + +/* + * ÿ() + * + * ֻ˳д洢ݣͷ˳ռڴ档 + */ +Status ClearList(SqList* L); + +/* + * п + * + * ж˳ǷЧݡ + * + * ֵ + * TRUE : ˳Ϊ + * FALSE: ˳Ϊ + */ +Status ListEmpty(SqList L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SqList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SqList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * 㷨2.5 + * + * ɾ + * + * ɾ˳iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SqList* L, int i, ElemType* e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj new file mode 100644 index 0000000..51b8a83 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj @@ -0,0 +1,78 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + {5C53EFFE-EE74-42B8-875C-CFB7B2659917} + My0202_Union + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.filters b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.filters new file mode 100644 index 0000000..24fc099 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.user b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/0202_Union.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0202_Union/SqList.c b/VisualC++/CourseBook/0202_Union/SqList.c new file mode 100644 index 0000000..ada375f --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/SqList.c @@ -0,0 +1,172 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/CourseBook/0202_Union/SqList.h b/VisualC++/CourseBook/0202_Union/SqList.h new file mode 100644 index 0000000..b2569e4 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/SqList.h @@ -0,0 +1,93 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/CourseBook/0202_Union/Union-main.c b/VisualC++/CourseBook/0202_Union/Union-main.c new file mode 100644 index 0000000..b155295 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/Union-main.c @@ -0,0 +1,43 @@ +#include +#include "Union.h" //**02 Ա**// +#include "SqList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[5] = {5, 2, 1, 3, 9}; + ElemType b[7] = {7, 2, 6, 9, 11, 3, 10}; + SqList La, Lb; + int i; + + // ʼLa + InitList(&La); + for(i = 1; i <= 5; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // ʼLb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // La + printf("La = "); + ListTraverse(La, PrintElem); + + // Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // ±La + printf("La = LaLb = "); + Union(&La, Lb); + ListTraverse(La, PrintElem); + + return 0; +} diff --git a/VisualC++/CourseBook/0202_Union/Union.c b/VisualC++/CourseBook/0202_Union/Union.c new file mode 100644 index 0000000..e240db2 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/Union.c @@ -0,0 +1,45 @@ +/*============== + * 󲢼 + * + * 㷨: 2.1 + ===============*/ + +#include "Union.h" //**02 Ա**// + +/* + * 㷨2.1 + * + * A=AB + * + * LaLbIJء + * ɵIJƴLaϣLaΪָ͡ + */ +void Union(SqList* La, SqList Lb) { + int La_len, Lb_len; + int i; + ElemType e; + + // ˳ + La_len = ListLength(*La); + Lb_len = ListLength(Lb); + + for(i = 1; i <= Lb_len; i++) { + // ȡLbеiԪظe + GetElem(Lb, i, &e); + + // eLa + if(!LocateElem(*La, e, equal)) { + ListInsert(La, ++La_len, e); + } + } +} + +/* + * е + * + * жԪǷȡ + * ȣ򷵻TRUE򣬷FALSE + */ +Status equal(ElemType e1, ElemType e2) { + return e1 == e2 ? TRUE : FALSE; +} diff --git a/VisualC++/CourseBook/0202_Union/Union.h b/VisualC++/CourseBook/0202_Union/Union.h new file mode 100644 index 0000000..cef4815 --- /dev/null +++ b/VisualC++/CourseBook/0202_Union/Union.h @@ -0,0 +1,33 @@ +/*============== + * 󲢼 + * + * 㷨: 2.1 + ===============*/ + +#ifndef UNION_H +#define UNION_H + +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + + +/* + * 㷨2.1 + * + * A=AB + * + * LaLbIJء + * ɵIJƴLaϣLaΪָ͡ + */ +void Union(SqList* La, SqList Lb); + +/* + * е + * + * жԪǷȡ + * ȣ򷵻TRUE򣬷FALSE + */ +Status equal(ElemType e1, ElemType e2); + +#endif diff --git a/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj new file mode 100644 index 0000000..0e335e6 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj @@ -0,0 +1,78 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + {D3309A60-3384-4EB0-9392-BEB5BF9934BF} + My0203_MergeSqList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.filters b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.filters new file mode 100644 index 0000000..9b20ca4 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.user b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/0203_MergeSqList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0203_MergeSqList/MergeSqList-main.c b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList-main.c new file mode 100644 index 0000000..f6834fa --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList-main.c @@ -0,0 +1,49 @@ +#include +#include "SqList.h" +#include "MergeSqList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ElemType a[4] = {3, 5, 8, 11}; + ElemType b[7] = {2, 6, 8, 9, 11, 15, 20}; + + SqList La, Lb, Lc1, Lc2; + int i; + + // ʼLa + InitList(&La); + for(i = 1; i <= 4; i++) { + ListInsert(&La, i, a[i - 1]); + } + + // ʼLb + InitList(&Lb); + for(i = 1; i <= 7; i++) { + ListInsert(&Lb, i, b[i - 1]); + } + + // La + printf("La = "); + ListTraverse(La, PrintElem); + + // Lb + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 鲢˳LaLb㷨2.2 + MergeSqList_1(La, Lb, &Lc1); + printf("鲢LaLbΪLc1 = "); + ListTraverse(Lc1, PrintElem); + + // 鲢˳LaLb㷨2.7 + MergeSqList_2(La, Lb, &Lc2); + printf("鲢LaLbΪLc2 = "); + ListTraverse(Lc2, PrintElem); + + return 0; +} diff --git a/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.c b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.c new file mode 100644 index 0000000..4df7d41 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.c @@ -0,0 +1,104 @@ +/*================== + * 鲢ǽ˳ + * + * 㷨: 2.22.7 + ===================*/ + +#include "MergeSqList.h" //**02 Ա**// + + +/* + * 㷨2.2 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc) { + int La_len, Lb_len; + int i, j, k; + ElemType ai, bj; + + i = j = 1; + k = 0; + + // ʼLc + InitList(Lc); + + // ȡLaLbij + La_len = ListLength(La); + Lb_len = ListLength(Lb); + + // LaLbδ + while(i <= La_len && j <= Lb_len) { + GetElem(La, i, &ai); + GetElem(Lb, j, &bj); + + // ȽϱԪأȽȽСԪؼ˳Lc + if(ai <= bj) { + ListInsert(Lc, ++k, ai); + i++; + } else { + ListInsert(Lc, ++k, bj); + j++; + } + } + + // Lbѱ꣬Laδ꣬LaʣԪؼLc + while(i <= La_len) { + GetElem(La, i++, &ai); + ListInsert(Lc, ++k, ai); + } + + // Laѱ꣬Lbδ꣬LbʣԪؼLc + while(j <= Lb_len) { + GetElem(Lb, j++, &bj); + ListInsert(Lc, ++k, bj); + } +} + +/* + * 㷨2.7 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc) { + ElemType* pa, * pb, * pc; + ElemType* pa_last, * pb_last; + + pa = La.elem; // ָLaһԪ + pb = Lb.elem; // ָLbһԪ + + // ûʹInitListLc + (*Lc).listsize = (*Lc).length = La.length + Lb.length; + pc = (*Lc).elem = (ElemType*) malloc((*Lc).listsize * sizeof(ElemType)); + if(pc == NULL) { + exit(OVERFLOW); + } + + pa_last = La.elem + La.length - 1; // ָLaһԪ + pb_last = Lb.elem + Lb.length - 1; // ָLbһԪ + + // LaLbδ + while(pa <= pa_last && pb <= pb_last) { + if(*pa <= *pb) { + *pc++ = *pa++; + } else { + *pc++ = *pb++; + } + } + + // Lbѱ꣬Laδ꣬LaʣԪؼLc + while(pa <= pa_last) { + *pc++ = *pa++; + } + + // Laѱ꣬Lbδ꣬LbʣԪؼLc + while(pb <= pb_last) { + *pc++ = *pb++; + } +} \ No newline at end of file diff --git a/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.h b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.h new file mode 100644 index 0000000..12704b0 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/MergeSqList.h @@ -0,0 +1,35 @@ +/*================== + * 鲢ǽ˳ + * + * 㷨: 2.22.7 + ===================*/ + +#ifndef MERGESQLIST_H +#define MERGESQLIST_H + +#include +#include +#include "SqList.h" //**02 Ա**// + + +/* + * 㷨2.2 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_1(SqList La, SqList Lb, SqList* Lc); + +/* + * 㷨2.7 + * + * ǵݼ鲢C=A+B + * + * 鲢˳LaLbµ˳Lc + * УLaLbLcΪǵݼС + */ +void MergeSqList_2(SqList La, SqList Lb, SqList* Lc); + +#endif diff --git a/VisualC++/CourseBook/0203_MergeSqList/SqList.c b/VisualC++/CourseBook/0203_MergeSqList/SqList.c new file mode 100644 index 0000000..93b7b2c --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/SqList.c @@ -0,0 +1,129 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L) { + return L.length; +} + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e) { + // ΪiĺλãϷΧǣ[1, length] + if(i < 1 || i > L.length) { + return ERROR; //iֵϷ + } + + *e = L.elem[i - 1]; + + return OK; +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/CourseBook/0203_MergeSqList/SqList.h b/VisualC++/CourseBook/0203_MergeSqList/SqList.h new file mode 100644 index 0000000..a90a6f3 --- /dev/null +++ b/VisualC++/CourseBook/0203_MergeSqList/SqList.h @@ -0,0 +1,80 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * + * + * ˳ЧԪص + */ +int ListLength(SqList L); + +/* + * ȡֵ + * + * ȡ˳еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SqList L, int i, ElemType* e); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj new file mode 100644 index 0000000..55e4763 --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj @@ -0,0 +1,80 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + {8818D7C5-70C7-4649-9690-ACB30147C37B} + My0204_LinkList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.filters b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.filters new file mode 100644 index 0000000..a04fab9 --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.filters @@ -0,0 +1,38 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.user b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/0204_LinkList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0204_LinkList/LinkList-main.c b/VisualC++/CourseBook/0204_LinkList/LinkList-main.c new file mode 100644 index 0000000..c2790e2 --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/LinkList-main.c @@ -0,0 +1,170 @@ +#include +#include "Status.h" +#include "LinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList L; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + } + PressEnterToContinue(); + + + printf(" CreateList_Head \n"); + { + LinkList L; + printf(" ͷ巨 L = "); + CreateList_Head("TestData_Head.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" CreateList_Tail \n"); + { + LinkList L; + printf(" β巨 L = "); + CreateList_Tail("TestData_Tail.txt", &L, 5); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/VisualC++/CourseBook/0204_LinkList/LinkList.c b/VisualC++/CourseBook/0204_LinkList/LinkList.c new file mode 100644 index 0000000..d87e5b5 --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/LinkList.c @@ -0,0 +1,488 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ棬ͷҲᱻ + */ +Status DestroyList(LinkList* L) { + LinkList p; + + // ȷṹ + if(L == NULL || *L == NULL) { + return ERROR; + } + + p = *L; + + while(p != NULL) { + p = (*L)->next; + free(*L); + (*L) = p; + } + + *L = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(LinkList L) { + LinkList pre, p; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L->next; + + // ͷнռڴ + while(p != NULL) { + pre = p; + p = p->next; + free(pre); + } + + L->next = NULL; + + return OK; +} + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(LinkList L) { + // ֻͷʱΪΪ + if(L != NULL && L->next == NULL) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * 㷨2.8 + * + * ȡֵ + * + * ȡеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(LinkList L, int i, ElemType* e) { + LinkList p; + int j; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪNULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e) { + LinkList pre, next; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // ָ1Ԫ + pre = L->next; + + // 1Ԫûǰ + if(pre->data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + next = pre->next; + + // ӵ2Ԫؿʼcur_eλ + while(next != NULL && next->data != cur_e) { + pre = next; + next = next->next; + } + + // ûҵԪcur_eʧܣERROR + if(next == NULL) { + return ERROR; + } + + *pre_e = pre->data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e) { + LinkList pre; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + // ָ1Ԫ + pre = L->next; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̲ΪNULL + while(pre->next != NULL && pre->data != cur_e) { + pre = pre->next; + } + + // ûҵcur_eҵˣûк̣ERROR + if(pre->next == NULL) { + return ERROR; + } + + *next_e = pre->next->data; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * 㷨2.10 + * + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(LinkList L, int i, ElemType* e) { + LinkList p, q; + int j; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪNULL + while(p->next != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == NULL || j > i - 1) { + return ERROR; + } + + // ɾi + q = p->next; + p->next = q->next; + *e = q->data; + free(q); + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + // ½ + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/VisualC++/CourseBook/0204_LinkList/LinkList.h b/VisualC++/CourseBook/0204_LinkList/LinkList.h new file mode 100644 index 0000000..6e7e06a --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/LinkList.h @@ -0,0 +1,168 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(LinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(LinkList L); + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(LinkList L); + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L); + +/* + * 㷨2.8 + * + * ȡֵ + * + * ȡеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(LinkList L, int i, ElemType* e); + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(LinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(LinkList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * 㷨2.10 + * + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(LinkList L, int i, ElemType* e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/VisualC++/CourseBook/0204_LinkList/TestData_Head.txt b/VisualC++/CourseBook/0204_LinkList/TestData_Head.txt new file mode 100644 index 0000000..4820e7d --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/TestData_Head.txt @@ -0,0 +1 @@ +9 7 5 3 1 \ No newline at end of file diff --git a/VisualC++/CourseBook/0204_LinkList/TestData_Tail.txt b/VisualC++/CourseBook/0204_LinkList/TestData_Tail.txt new file mode 100644 index 0000000..e2b34ca --- /dev/null +++ b/VisualC++/CourseBook/0204_LinkList/TestData_Tail.txt @@ -0,0 +1 @@ +2 4 6 8 10 \ No newline at end of file diff --git a/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj new file mode 100644 index 0000000..e5eb949 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj @@ -0,0 +1,82 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + {DC3475CD-A081-423F-BCE5-14464B66F475} + My0205_MergeList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.filters b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.filters new file mode 100644 index 0000000..a0f785d --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.user b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/0205_MergeList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0205_MergeList/LinkList.c b/VisualC++/CourseBook/0205_MergeList/LinkList.c new file mode 100644 index 0000000..1fc32b4 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/LinkList.c @@ -0,0 +1,138 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + // ½ + p = (LinkList) malloc(sizeof(LNode)); + if(p == NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + p->next = (*L)->next; + (*L)->next = p; + } else { + fclose(fp); + return ERROR; + } + } + + fclose(fp); + + return OK; +} + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n) { + FILE* fp; + int i; + LinkList p, q; + ElemType e; + + // ͷ + *L = (LinkList) malloc(sizeof(LNode)); + if(*L==NULL) { + exit(OVERFLOW); + } + (*L)->next = NULL; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + return ERROR; + } + + for(i = 1, q = *L; i <= n; ++i) { + // ɹȡ + if(ReadData(fp, "%d", &e) == 1) { + p = (LinkList) malloc(sizeof(LNode)); + if(p==NULL) { + fclose(fp); + exit(OVERFLOW); + } + + // ݣ뵽 + p->data = e; + q->next = p; + q = q->next; + } else { + fclose(fp); + return ERROR; + } + } + + q->next = NULL; + + fclose(fp); + + return OK; +} diff --git a/VisualC++/CourseBook/0205_MergeList/LinkList.h b/VisualC++/CourseBook/0205_MergeList/LinkList.h new file mode 100644 index 0000000..02a6994 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/LinkList.h @@ -0,0 +1,61 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +/* + * 㷨2.11 + * + * ͷ巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + * ̲е㷨õͷ巨Դ˴ʵּ˺׺_Head + */ +Status CreateList_Head(char path[], LinkList* L, int n); + +/* + * β巨 + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +Status CreateList_Tail(char path[], LinkList* L, int n); + +#endif diff --git a/VisualC++/CourseBook/0205_MergeList/MergeList-main.c b/VisualC++/CourseBook/0205_MergeList/MergeList-main.c new file mode 100644 index 0000000..fbf6614 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/MergeList-main.c @@ -0,0 +1,31 @@ +#include +#include "MergeList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + LinkList La, Lb, Lc; + + int m = 5; + + printf("ΪʾLa趨Ϊ %d Lb趨Ϊ %d LaLb...\n", m, m); + + CreateList_Head("TestData_Head.txt", &La, m); + printf("La = "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Tail.txt", &Lb, m); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + printf("鲢LaLbΪLc = "); + MergeList(&La, &Lb, &Lc); + ListTraverse(Lc, PrintElem); + + return 0; +} + diff --git a/VisualC++/CourseBook/0205_MergeList/MergeList.c b/VisualC++/CourseBook/0205_MergeList/MergeList.c new file mode 100644 index 0000000..95f6062 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/MergeList.c @@ -0,0 +1,45 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.12 + ================*/ + +#include "MergeList.h" //**02 Ա**// + +/* + * 㷨2.12 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * LcLaͷ㣬LbнLcС + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc) { + LinkList pa, pb, pc; + + pa = (*La)->next; + pb = (*Lb)->next; + pc = *Lc = *La; // LaͷΪLcͷ + + // LaLb + while(pa && pb) { + if(pa->data <= pb->data) { + pc->next = pa; + pc = pa; + pa = pa->next; + } else { + pc->next = pb; + pc = pb; + pb = pb->next; + } + } + + // ʣ + pc->next = pa ? pa : pb; + + // ͷLbͷռڴ + free(*Lb); + + *La = NULL; + *Lb = NULL; +} diff --git a/VisualC++/CourseBook/0205_MergeList/MergeList.h b/VisualC++/CourseBook/0205_MergeList/MergeList.h new file mode 100644 index 0000000..4a7a263 --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/MergeList.h @@ -0,0 +1,24 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.12 + ================*/ + +#ifndef MERGELIST_H +#define MERGELIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "LinkList.h" //**02 Ա**// + +/* + * 㷨2.12 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * LcLaͷ㣬LbнLcС + */ +void MergeList(LinkList* La, LinkList* Lb, LinkList* Lc); + +#endif diff --git a/VisualC++/CourseBook/0205_MergeList/TestData_Head.txt b/VisualC++/CourseBook/0205_MergeList/TestData_Head.txt new file mode 100644 index 0000000..4820e7d --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/TestData_Head.txt @@ -0,0 +1 @@ +9 7 5 3 1 \ No newline at end of file diff --git a/VisualC++/CourseBook/0205_MergeList/TestData_Tail.txt b/VisualC++/CourseBook/0205_MergeList/TestData_Tail.txt new file mode 100644 index 0000000..e2b34ca --- /dev/null +++ b/VisualC++/CourseBook/0205_MergeList/TestData_Tail.txt @@ -0,0 +1 @@ +2 4 6 8 10 \ No newline at end of file diff --git a/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj new file mode 100644 index 0000000..8a8c086 --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {C0C969A9-926E-4AE3-87AC-F73CB04D0BC7} + My0206_SLinkList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.filters b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.filters new file mode 100644 index 0000000..a268195 --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.user b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/0206_SLinkList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0206_SLinkList/SLinkList-main.c b/VisualC++/CourseBook/0206_SLinkList/SLinkList-main.c new file mode 100644 index 0000000..c9fb486 --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/SLinkList-main.c @@ -0,0 +1,152 @@ +#include +#include "Status.h" +#include "SLinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // ÿռ + int S; // ̬ͷ + + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ S ...\n"); + InitList(space, &S); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" S %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(space, S, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" S еԪΪS = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" S ijΪ %d \n", ListLength(space, S)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأS = "); + ListTraverse(space, S, PrintElem); + + printf(" ɾ S е 6 Ԫ...\n"); + + if(ListDelete(space, S, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأS = "); + ListTraverse(space, S, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(space, S, 4, &e); + printf(" S е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(space, S, 7, CmpGreater); + GetElem(space, S, i, &e); + printf(" S еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(space, S, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(space, S, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" S ǰ"); + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + + ClearList(space, S); + + printf(" S "); + ListEmpty(space, S) ? printf(" S Ϊգ\n") : printf(" S Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" S ǰ"); + S!=0 ? printf(" S ڣ\n") : printf(" S ڣ\n"); + + DestroyList(space, &S); + + printf(" S "); + S!=0 ? printf(" S ڣ\n") : printf(" S ڣ\n"); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/VisualC++/CourseBook/0206_SLinkList/SLinkList.c b/VisualC++/CourseBook/0206_SLinkList/SLinkList.c new file mode 100644 index 0000000..8884b59 --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/SLinkList.c @@ -0,0 +1,470 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 뵽Ŀռӱÿռɾȥ + space[0].cur = space[i].cur; + } + + // ± + return i; +} + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/* ̬ */ + +/* + * ʼ + * + * ȳʼÿռ䣬ӱÿռͷĿռ䣬ɾ̬ijʼ + * ʼɹʹS洢ͷҷOK򷵻ERROR + */ +Status InitList(SLinkList space, int* S) { + int index; + + // ʼÿռ + InitSpace(space); + + // ͷռ + index = Malloc(space); + + if(index == 0) { + return ERROR; + } + + space[index].cur = 0; + + *S = index; + + return OK; +} + +/* + * (ṹ) + * + * ͷž̬ռڴ棬̬нռ뱸ÿռбС + */ +Status DestroyList(SLinkList space, int* S) { + int cur; + + // ȷ̬ + if(S == NULL || *S == 0) { + return ERROR; + } + + while(*S != 0) { + // ݴһ + cur = space[*S].cur; + // յǰռռ + Free(space, *S); + // ǰһ + *S = cur; + } + + return OK; +} + +/* + * ÿ() + * + * Ҫͷž̬зͷ㴦Ŀռ䡣 + */ +Status ClearList(SLinkList space, int S) { + int P; + int cur; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + // ȡ̬׸ + P = space[S].cur; + + while(P != 0) { + // ݴһ + cur = space[P].cur; + // յǰռռ + Free(space, P); + // ǰһ + P = cur; + } + + space[S].cur = 0; + + return OK; +} + +/* + * п + * + * жϾ̬ǷЧݡ + * + * ֵ + * TRUE : ̬Ϊ + * FALSE: ̬Ϊ + */ +Status ListEmpty(SLinkList space, int S) { + // ֻͷľ̬Ϊձ + if(S != 0 && space[S].cur == 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ؾ̬ЧԪص + */ +int ListLength(SLinkList space, int S) { + int count; + + // ̬ڣ̬Ϊʱ0 + if(S == 0 || space[S].cur == 0) { + return 0; + } + + // ȡ̬׸Ԫص + S = space[S].cur; + count = 0; + + while(S != 0) { + count++; + S = space[S].cur; + } + + return count; +} + +/* + * ȡֵ + * + * ȡ̬еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e) { + int count; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ȡ̬׸Ԫص + S = space[S].cur; + count = 0; + + while(S != 0 && count < i - 1) { + count++; + S = space[S].cur; + } + + if(S == 0 || count > i - 1) { + return ERROR; + } + + *e = space[S].data; + + return OK; +} + +/* + * 㷨2.13 + * + * + * + * ؾ̬׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * 1.ԪeCompareڶβ + * 2.ʵ̲ϵ㷨2.13ͬԭμġע⡱Ϣ + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + int p; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = space[S].cur; // pijֵΪ1Ԫص + + while(p != 0 && !Compare(space[p].data, e)) { + i++; + p = space[p].cur; + } + + if(p != 0) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e) { + int pre, next; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ָ1Ԫ + pre = space[S].cur; + + // 1Ԫûǰ + if(space[pre].data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + next = space[pre].cur; + + // ӵ2Ԫؿʼcur_eλ + while(next != 0 && space[next].data != cur_e) { + pre = next; + next = space[next].cur; + } + + // ûҵԪcur_eʧܣERROR + if(next == 0) { + return ERROR; + } + + *pre_e = space[pre].data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e) { + int pre; + + // ȷ̬ҲΪ + if(S == 0 || space[S].cur == 0) { + return ERROR; + } + + // ָ1Ԫ + pre = space[S].cur; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̴ + while(space[pre].cur != 0 && space[pre].data != cur_e) { + pre = space[pre].cur; + } + + // ûҵcur_eҵˣûк̣ERROR + if(space[pre].cur == 0) { + return ERROR; + } + + *next_e = space[space[pre].cur].data; + + return OK; +} + +/* + * + * + * ̬iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e) { + int p, s; + int j; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾 + while(p != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == 0 || j > i - 1) { + return ERROR; + } + + // ½ + s = Malloc(space); + space[s].data = e; + space[s].cur = space[p].cur; + space[p].cur = s; + + return OK; +} + +/* + * ɾ + * + * ɾ̬iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e) { + int p, q; + int j; + + // ȷ̬ + if(S == 0) { + return ERROR; + } + + p = S; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̴ + while(space[p].cur != 0 && j < i - 1) { + p = space[p].cur; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(space[p].cur == 0 || j > i - 1) { + return ERROR; + } + + // ɾi + q = space[p].cur; + space[p].cur = space[q].cur; + *e = space[q].data; + Free(space, q); + + return OK; +} + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // ȷ + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== ÿռ ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== ̬ ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} + diff --git a/VisualC++/CourseBook/0206_SLinkList/SLinkList.h b/VisualC++/CourseBook/0206_SLinkList/SLinkList.h new file mode 100644 index 0000000..c511f6c --- /dev/null +++ b/VisualC++/CourseBook/0206_SLinkList/SLinkList.h @@ -0,0 +1,208 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define MAXSIZE 1000 // ÿռھ̬󳤶 + +/* ̬ԪͶ */ +typedef int ElemType; + +/* + * ̬ṹ + * + * ע̬һ飬ռÿռͿпռ + */ +typedef struct SLinkNode { + ElemType data; + int cur; // curαָ꣬ãһ㣨±꣩ +} SLinkList[MAXSIZE]; // ռ + + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* + * ע + * + * ̲㷨2.13㷨2.14~2.17ж漰̬IJ + * 㷨Ԥݽṹȴͬ + * + * 㷨2.13Ԥ鶼Ǿ̬() + * 㷨2.14~2.17ֻǽԤΪÿռ䣬 + * ̬ռǻڱÿռͷŵ() + * + * ʵֵĴУ㷨2.14~2.17ԤݽṹΪ׼ + * ԣ㷨2.13ʵֻн̲ͬ + */ + + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space); + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space); + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k); + + +/* ̬ */ + +/* + * ʼ + * + * ȳʼÿռ䣬ӱÿռͷĿռ䣬ɾ̬ijʼ + * ʼɹʹS洢ͷҷOK򷵻ERROR + */ +Status InitList(SLinkList space, int* S); + +/* + * (ṹ) + * + * ͷž̬ռڴ棬̬нռ뱸ÿռбС + */ +Status DestroyList(SLinkList space, int* S); + +/* + * ÿ() + * + * Ҫͷž̬зͷ㴦Ŀռ䡣 + */ +Status ClearList(SLinkList space, int S); + +/* + * п + * + * жϾ̬ǷЧݡ + * + * ֵ + * TRUE : ̬Ϊ + * FALSE: ̬Ϊ + */ +Status ListEmpty(SLinkList space, int S); + +/* + * + * + * ؾ̬ЧԪص + */ +int ListLength(SLinkList space, int S); + +/* + * ȡֵ + * + * ȡ̬еiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(SLinkList space, int S, int i, ElemType* e); + +/* + * 㷨2.13 + * + * + * + * ؾ̬׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * 1.ԪeCompareڶβ + * 2.ʵ̲ϵ㷨2.13ͬԭμġע⡱Ϣ + */ +int LocateElem(SLinkList space, int S, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(SLinkList space, int S, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(SLinkList space, int S, ElemType cur_e, ElemType* next_e); + +/* + * + * + * ̬iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SLinkList space, int S, int i, ElemType e); + +/* + * ɾ + * + * ɾ̬iλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(SLinkList space, int S, int i, ElemType* e); + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj new file mode 100644 index 0000000..83130da --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj @@ -0,0 +1,81 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {EB17D84C-751A-4261-BE9F-B02951BF8E51} + My0207_Difference + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.filters b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.filters new file mode 100644 index 0000000..1a0a599 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.filters @@ -0,0 +1,41 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.user b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/0207_Difference.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0207_Difference/Difference-main.c b/VisualC++/CourseBook/0207_Difference/Difference-main.c new file mode 100644 index 0000000..f4a0208 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/Difference-main.c @@ -0,0 +1,19 @@ +#include +#include "Difference.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + SLinkList space; // ÿռ + int S; // ̬ + + printf("S = (A-B)(B-A) = "); + difference("TestData.txt", space, &S); + ListTraverse(space, S, PrintElem); + + return 0; +} diff --git a/VisualC++/CourseBook/0207_Difference/Difference.c b/VisualC++/CourseBook/0207_Difference/Difference.c new file mode 100644 index 0000000..3327485 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/Difference.c @@ -0,0 +1,95 @@ +/*=============== + * ̬ȥ + * + * 㷨: 2.17 + ================*/ + +#include "Difference.h" + +/* + * 㷨2.17 + * + * S = (A-B)(B-A) + * + * ԼAͼB(A-B)(B-A)㣬뾲̬S + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +void difference(char path[], SLinkList space, int* S) { + FILE* fp; + int m, n; // AͼBԪ + int j; // ѭ + int R; // ָ̬һ + int i, k, p; + int b; // ʱ洢ӼBж + + // ʼÿռ + InitSpace(space); + + // ȡ̬ͷ + *S = Malloc(space); + + // Rִо̬Ľ + R = *S; + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // ȡAͼBԪظ + ReadData(fp, "%d%d", &m, &n); + + // ¼뼯A + for(j = 1; j <= m; ++j) { + // + i = Malloc(space); + + // 뼯AԪֵ + ReadData(fp, "%d", &space[i].data); + + // ½뵽β + space[R].cur = i; + R = i; + } + + // βָÿ + space[R].cur = 0; + + // ¼뼯B + for(j = 1; j <= n; ++j) { + // 뼯BԪֵ + ReadData(fp, "%d", &b); + + p = *S; // ָ̬ͷ㣬ָkǰһλ + k = space[*S].cur; // ָ̬е׸Ԫ + + // ڵǰ̬вǷbԪ + while(k != space[R].cur && space[k].data != b) { + p = k; + k = space[k].cur; + } + + // Ԫزڣ뾲̬ + if(k == space[R].cur) { + i = Malloc(space); + space[i].data = b; + space[i].cur = space[R].cur; + space[R].cur = i; + + // ԪѴڣҪƳ + } else { + space[p].cur = space[k].cur; + Free(space, k); + if(R == k) { + R = p; + } + } + } + + fclose(fp); +} \ No newline at end of file diff --git a/VisualC++/CourseBook/0207_Difference/Difference.h b/VisualC++/CourseBook/0207_Difference/Difference.h new file mode 100644 index 0000000..b7d9164 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/Difference.h @@ -0,0 +1,28 @@ +/*=============== + * ̬ȥ + * + * 㷨: 2.17 + ================*/ + +#ifndef DIFFERENCE_H +#define DIFFERENCE_H + +#include +#include "Status.h" //**01 **// +#include "SLinkList.h" //**02 Ա**// + +/* + * 㷨2.17 + * + * S = (A-B)(B-A) + * + * ԼAͼB(A-B)(B-A)㣬뾲̬S + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡݡ + */ +void difference(char path[], SLinkList space, int* S); + +#endif diff --git a/VisualC++/CourseBook/0207_Difference/SLinkList.c b/VisualC++/CourseBook/0207_Difference/SLinkList.c new file mode 100644 index 0000000..624e0ea --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/SLinkList.c @@ -0,0 +1,116 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#include "SLinkList.h" + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space) { + int i; + + for(i = 0; i < MAXSIZE - 1; ++i) { + space[i].cur = i + 1; + } + + space[MAXSIZE - 1].cur = 0; +} + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space) { + int i = space[0].cur; + + if(i != 0) { + // 뵽Ŀռӱÿռɾȥ + space[0].cur = space[i].cur; + } + + // ± + return i; +} + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k) { + space[k].cur = space[0].cur; + space[0].cur = k; +} + + +/* ̬ */ + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)) { + int p; + + // ȷ + if(S == 0 || space[S].cur == 0) { + return; + } + + p = space[S].cur; + + while(p != 0) { + Visit(space[p].data); + p = space[p].cur; + } + + printf("\n"); +} + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S) { + int i = 0; + + printf("==== ÿռ ====\n"); + while(i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } + + printf("==== ̬ ====\n"); + i = S; + while(i>0 && i < 20) { + printf("%2d | %2d | %2d |\n", i, space[i].data, space[i].cur); + i = space[i].cur; + } +} diff --git a/VisualC++/CourseBook/0207_Difference/SLinkList.h b/VisualC++/CourseBook/0207_Difference/SLinkList.h new file mode 100644 index 0000000..d92bdf6 --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/SLinkList.h @@ -0,0 +1,89 @@ +/*================================= + * ̬ + * + * 㷨: 2.132.142.152.16 + ==================================*/ + +#ifndef SLINKLIST_H +#define SLINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define MAXSIZE 1000 // ÿռھ̬󳤶 + +/* ̬ԪͶ */ +typedef int ElemType; + +/* + * ̬ṹ + * + * ע̬һ飬ռÿռͿпռ + */ +typedef struct SLinkLNode { + ElemType data; + int cur; // curαָ꣬ãһ㣨±꣩ +} SLinkList[MAXSIZE]; // ռ + + +/* + * ʾ + * + * кβУ + * spaceָʾÿռ + * S ָʾ̬ͷ + */ + + +/* ÿռ */ + +/* + * 㷨2.14 + * + * ʼÿռ + * + * ÿռΪ̬ṩõڴ档 + */ +void InitSpace(SLinkList space); + +/* + * 㷨2.15 + * + * ռ + * + * Ϊ̬ӱÿռռ䣬 + * ɹؿÿռ + * ʧʱ0 + */ +int Malloc(SLinkList space); + +/* + * 㷨2.16 + * + * տռ + * + * kĽռԹ̬ã + * շʽǽýռӾ̬Ƴ + * ӵÿռбС + */ +void Free(SLinkList space, int k); + + +/* ̬ */ + +/* + * + * + * visitʾ̬S + */ +void ListTraverse(SLinkList space, int S, void(Visit)(ElemType)); + + +/* ͼλ */ + +// ͼλʽǰṹڲʹ +void PrintGraph(SLinkList space, int S); + +#endif diff --git a/VisualC++/CourseBook/0207_Difference/TestData.txt b/VisualC++/CourseBook/0207_Difference/TestData.txt new file mode 100644 index 0000000..93de27f --- /dev/null +++ b/VisualC++/CourseBook/0207_Difference/TestData.txt @@ -0,0 +1,4 @@ +Aijȣ3 +Bijȣ5 +AԪأ2 3 4 +BԪأ1 3 4 6 7 \ No newline at end of file diff --git a/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj new file mode 100644 index 0000000..6bdc7ee --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6816DB4B-DC29-4BF4-8D93-F6B00444FD37} + My0208_DuLinkList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.filters b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.filters new file mode 100644 index 0000000..de43dc6 --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.user b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/0208_DuLinkList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0208_DuLinkList/DuLinkList-main.c b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList-main.c new file mode 100644 index 0000000..90cbb4f --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList-main.c @@ -0,0 +1,149 @@ +#include +#include "Status.h" +#include "DuLinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + DuLinkList L; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼ˫ѭ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" GetElem \n"); + { + GetElem(L, 4, &e); + printf(" L е 4 λõԪΪ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + i = LocateElem(L, 7, CmpGreater); + GetElem(L, i, &e); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", e); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + ElemType cur_e = 6; + + if(PriorElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + ElemType cur_e = 6; + + if(NextElem(L, cur_e, &e) == OK) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", cur_e, e); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", cur_e); + } + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L ? printf(" L ڣ\n") : printf(" L ڣ\n"); + } + PressEnterToContinue(); + + return 0; +} diff --git a/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.c b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.c new file mode 100644 index 0000000..b8ff6b8 --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.c @@ -0,0 +1,402 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#include "DuLinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // ǰͺָ̾ + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * (ṹ) + * + * ͷ˫ѭռڴ档 + */ +Status DestroyList(DuLinkList* L) { + // ȷṹ + if(L == NULL || *L == NULL) { + return ERROR; + } + + ClearList(*L); + + free(*L); + + *L = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷ˫ѭзͷ㴦Ŀռ䡣 + */ +Status ClearList(DuLinkList L) { + DuLinkList p, q; + + if(L == NULL) { + return ERROR; + } + + p = L->next; + + while(p != L) { + q = p->next; + free(p); + p = q; + } + + L->next = L->prior = L; + + return OK; +} + +/* + * п + * + * ж˫ѭǷЧݡ + * + * ֵ + * TRUE : ˫ѭΪ + * FALSE: ˫ѭΪ + */ +Status ListEmpty(DuLinkList L) { + if(L != NULL && L->next == L && L->prior == L) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ˫ѭЧԪص + */ +int ListLength(DuLinkList L) { + DuLinkList p; + int i; + + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != L) { + i++; + p = p->next; + } + + return i; +} + +/* + * ȡֵ + * + * ȡ˫ѭеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + int j; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ýĺ̲ΪL + while(p->next != L && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p->next == L || j > i - 1) { + return ERROR; + } + + *e = p->next->data; + + return OK; +} + +/* + * + * + * ˫ѭ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != L && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != L) { + return i; + } else { + return 0; + } +} + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ָ1Ԫ + p = L->next; + + // 1Ԫûǰ + if(p->data == cur_e) { + return ERROR; + } + + // ָ2Ԫ + p = p->next; + + // ӵ2Ԫؿʼcur_eλ + while(p != L && p->data != cur_e) { + p = p->next; + } + + // ûҵԪcur_eʧܣERROR + if(p == L) { + return ERROR; + } + + *pre_e = p->prior->data; + + return OK; +} + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ָ1Ԫ + p = L->next; + + // ӵ1Ԫؿʼcur_eλãұ֤ýĺ̲ΪL + while(p->next != L && p->data != cur_e) { + p = p->next; + } + + // ûҵcur_eҵˣûк̣ERROR + if(p->next == L) { + return ERROR; + } + + *next_e = p->next->data; + + return OK; +} + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // ½ + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // s뵽pǰ棬Ϊi + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * 㷨2.19 + * + * ɾ + * + * ɾ˫ѭiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(DuLinkList L, int i, ElemType* e) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // p==L˵ɾԪǵlen+1ԪأϹ + if(p == L) { + return ERROR; + } + + *e = p->data; + + // Ƴp + p->prior->next = p->next; + p->next->prior = p->prior; + + free(p); + + return OK; +} + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return NULL; + } + + // λòϹ + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // ԲҵiԪ + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // ǡҵiԪ + if(count == i) { + return p; + } + + // ˣ˵p->next==LʱҪжiǷ + if(count + 1 < i) { + return NULL; + } + + // ˣ˵Ҫlen+1λϲԪ + return L; +} diff --git a/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.h b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.h new file mode 100644 index 0000000..0f8810d --- /dev/null +++ b/VisualC++/CourseBook/0208_DuLinkList/DuLinkList.h @@ -0,0 +1,153 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // +} DuLNode; + +// ָ˫ѭָ +typedef DuLNode* DuLinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L); + +/* + * (ṹ) + * + * ͷ˫ѭռڴ档 + */ +Status DestroyList(DuLinkList* L); + +/* + * ÿ() + * + * Ҫͷ˫ѭзͷ㴦Ŀռ䡣 + */ +Status ClearList(DuLinkList L); + +/* + * п + * + * ж˫ѭǷЧݡ + * + * ֵ + * TRUE : ˫ѭΪ + * FALSE: ˫ѭΪ + */ +Status ListEmpty(DuLinkList L); + +/* + * + * + * ˫ѭЧԪص + */ +int ListLength(DuLinkList L); + +/* + * ȡֵ + * + * ȡ˫ѭеiԪأ洢eС + * ҵOK򣬷ERROR + * + *ע + * ̲iĺԪλã1ʼⲻϱͨԼ + * ͨiĺӦָ0ʼ + */ +Status GetElem(DuLinkList L, int i, ElemType* e); + +/* + * + * + * ˫ѭ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(DuLinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * ǰ + * + * ȡԪcur_eǰ + * ڣ洢pre_eУOK + * ڣ򷵻ERROR + */ +Status PriorElem(DuLinkList L, ElemType cur_e, ElemType* pre_e); + +/* + * + * + * ȡԪcur_eḷ́ + * ڣ洢next_eУOK + * ڣ򷵻ERROR + */ +Status NextElem(DuLinkList L, ElemType cur_e, ElemType* next_e); + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * 㷨2.19 + * + * ɾ + * + * ɾ˫ѭiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListDelete(DuLinkList L, int i, ElemType* e); + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj new file mode 100644 index 0000000..9697cfd --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {2FE48840-F7BB-4DC7-B3D9-4AFF2B35206B} + My0209_ELinkList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.filters b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.filters new file mode 100644 index 0000000..3b25574 --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.user b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/0209_ELinkList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0209_ELinkList/ELinkList-main.c b/VisualC++/CourseBook/0209_ELinkList/ELinkList-main.c new file mode 100644 index 0000000..7d37082 --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/ELinkList-main.c @@ -0,0 +1,224 @@ +#include +#include "ELinkList.h" //**02 Ա**// + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + + +int main(int argc, char** argv) { + ELinkList L; + Link p, q, s; + Position r; + int i; + ElemType e; + + printf(" InitList \n"); + { + printf(" ʼչ L ...\n"); + InitList(&L); + } + PressEnterToContinue(); + + + printf(" ListEmpty \n"); + { + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" ListInsert \n"); + { + for(i = 1; i <= 8; i++) { + printf(" L %d λò \"%d\" ...\n", i, 2 * i); + ListInsert(&L, i, 2 * i); + } + } + PressEnterToContinue(); + + + printf(" ListTraverse \n"); + { + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ListLength \n"); + { + printf(" L ijΪ %d \n", ListLength(L)); + } + PressEnterToContinue(); + + + printf(" ListDelete \n"); + { + printf(" ɾǰԪأL = "); + ListTraverse(L, PrintElem); + + printf(" ɾ L е 6 Ԫ...\n"); + + if(ListDelete(&L, 6, &e) == OK) { + printf(" ɾɹɾԪǣ\"%d\"\n", e); + } else { + printf(" ɾʧܣ 6 Ԫزڣ\n"); + } + + printf(" ɾԪأL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" LocateElem \n"); + { + r = LocateElem(L, 7, CmpGreater); + printf(" L еһԪֵ \"7\" Ԫ \"%d\" \n", r->data); + } + PressEnterToContinue(); + + + printf(" PriorElem \n"); + { + Position pre = PriorPos(L, r); + + if(pre !=NULL) { + printf(" Ԫ \"%d\" ǰΪ \"%d\" \n", r->data, pre->data); + } else { + printf(" Ԫ \"%d\" ǰڣ\n", r->data); + } + } + PressEnterToContinue(); + + + printf(" NextElem \n"); + { + Position next = NextPos(L, r); + + if(next !=NULL) { + printf(" Ԫ \"%d\" ĺΪ \"%d\" \n", r->data, next->data); + } else { + printf(" Ԫ \"%d\" ĺ̲ڣ\n", r->data); + } + } + PressEnterToContinue(); + + + printf(" MakeNode \n"); + { + printf(" \"100\" ...\n"); + MakeNode(&p, 100); + printf(" \"200\" ...\n"); + MakeNode(&q, 200); + printf(" \"300\" ...\n"); + MakeNode(&s, 300); + } + PressEnterToContinue(); + + + printf(" InsFirst \n"); + { + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮...\n", s->data, r->data); + InsFirst(&L, r, s); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" DelFirst \n"); + { + printf(" ɾԪ \"%d\" ֮Ԫ...\n", r->data); + DelFirst(&L, r, &s); + printf(" ɾԪΪ\"%d\"\n", s->data); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" InsBefore \n"); + { + Link t = r; + + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮ǰ...\n", p->data, t->data); + InsBefore(&L, &t, p); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" InsAfter \n"); + { + Link t = r; + + printf(" Ԫ \"%d\" 뵽Ԫ \"%d\" ֮...\n", q->data, t->data); + InsAfter(&L, &t, q); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" Append \n"); + { + printf(" \"400\" ...\n"); + MakeNode(&s, 400); + + printf(" Ԫ %d 뵽...\n", s->data); + Append(&L, s); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" Remove \n"); + { + printf(" ɾԪ...\n"); + Remove(&L, &s); + printf(" ɾԪΪ\"%d\"\n", s->data); + printf(" L еԪΪL = "); + ListTraverse(L, PrintElem); + } + PressEnterToContinue(); + + + printf(" ClearList \n"); + { + printf(" L ǰ"); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + + ClearList(&L); + + printf(" L "); + ListEmpty(L) ? printf(" L Ϊգ\n") : printf(" L Ϊգ\n"); + } + PressEnterToContinue(); + + + printf(" DestroyList \n"); + { + printf(" L ǰ"); + L.head != NULL && L.tail != NULL ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + DestroyList(&L); + + printf(" L "); + L.head != NULL && L.tail != NULL ? printf(" L ڣ\n") : printf(" L ڣ\n"); + + } + PressEnterToContinue(); + + return 0; +} + diff --git a/VisualC++/CourseBook/0209_ELinkList/ELinkList.c b/VisualC++/CourseBook/0209_ELinkList/ELinkList.c new file mode 100644 index 0000000..c77bc91 --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/ELinkList.c @@ -0,0 +1,630 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L) { + + // ʱûҪ + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // ûЧԪʱҪ + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // ָ1Ԫ + p = (*L).head->next; + + // ͷԪռڴ + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(ELinkList L) { + if(L.len <= 0) { + return TRUE; + } else { + return FALSE; + } +} + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * + * + * ׸eCompareϵԪá + * Ԫأ򷵻NULL + * + *ע + * 1.ԪeCompareڶβ + * 2.ķֵĿԪصãλ + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + Position p; + + if(L.len <= 0) { + return NULL; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL && !Compare(p->data, e)) { + p = p->next; + } + + return p; +} + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ½s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // s뵽h棬Ϊhĵһ + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.10ĸд + */ +Status ListDelete(ELinkList* L, int i, ElemType* e) { + Link h, q; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len] + if(i < 1 || i > (*L).len) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ɾhĵһ㣬q洢ɾ + if(DelFirst(L, h, &q) == ERROR) { + return ERROR; + } + + // ±ɾԪصֵ + *e = q->data; + + // ͷűɾĿռ + FreeNode(&q); + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * β + * + * ȡβá + */ +Position GetLast(ELinkList L) { + return L.tail; +} + +/* + * ǰ + * + * ȡpǰڣ򷵻NULL + */ +Position PriorPos(ELinkList L, Link p) { + Link pre; + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + // ָͷ + pre = L.head; + + // һǰ + if(pre->next == p) { + return NULL; + } + + // Pǰ + while(pre != NULL && pre->next != p) { + pre = pre->next; + } + + return pre; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // עiΪ0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // ֤(ͷ) + if(L.head == NULL) { + return ERROR; + } + + // iΪ0ʱȡͷ + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // + r = L.head; // ָͷ + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * ǰ + * + * s뵽p֮ǰpָ½ + */ +Status InsBefore(ELinkList* L, Link* p, Link s) { + Link pre; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + // ָͷ + pre = (*L).head; + + // pĹǰڵһԪأǰΪͷ + while(pre != NULL && pre->next != (*p)) { + pre = pre->next; + } + + // ûҵǰ + if(pre == NULL) { + return ERROR; + } + + s->next = *p; + pre->next = s; + *p = s; + + (*L).len++; //޸lenõ*L + + return OK; +} + +/* + * + * + * s뵽p֮ǰpָ½ + */ +Status InsAfter(ELinkList* L, Link* p, Link s) { + Link r; + + if(L == NULL || (*L).head == NULL || p == NULL || s == NULL) { + return ERROR; + } + + r = (*L).head; + + while(r != NULL && r != (*p)) { + r = r->next; + } + + // δҵpشϢ + if(r == NULL) { + return ERROR; + } + + // pָһ㣬Ҫβָ + if(*p == (*L).tail) { + (*L).tail = s; + } + + s->next = (*p)->next; + (*p)->next = s; + *p = s; + + (*L).len++; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} + +/* + * βƳ + * + * βƳƳĽô洢q + */ +Status Remove(ELinkList* L, Link* q) { + Link p; + + if(L == NULL || (*L).head == NULL || q == NULL) { + return ERROR; + } + + // ûԪؿɹƳ + if((*L).len == 0) { + *q = NULL; + return ERROR; + } + + *q = (*L).tail; + + // ȷµβλ + p = (*L).head; + while(p->next != (*L).tail) { + p = p->next; + } + p->next = NULL; + (*L).tail = p; + + (*L).len--; + + return OK; +} diff --git a/VisualC++/CourseBook/0209_ELinkList/ELinkList.h b/VisualC++/CourseBook/0209_ELinkList/ELinkList.h new file mode 100644 index 0000000..e988542 --- /dev/null +++ b/VisualC++/CourseBook/0209_ELinkList/ELinkList.h @@ -0,0 +1,253 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L); + +/* + * п + * + * жǷЧݡ + * + * ֵ + * TRUE : Ϊ + * FALSE: Ϊ + */ +Status ListEmpty(ELinkList L); + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L); + +/* + * + * + * ׸eCompareϵԪá + * Ԫأ򷵻NULL + * + *ע + * 1.ԪeCompareڶβ + * 2.ķֵĿԪصãλ + */ +Position LocateElem(ELinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * ɾ + * + * ɾiλϵԪأɾԪش洢eС + * ɾɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.10ĸд + */ +Status ListDelete(ELinkList* L, int i, ElemType* e); + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * β + * + * ȡβá + */ +Position GetLast(ELinkList L); + +/* + * ǰ + * + * ȡpǰڣ򷵻NULL + */ +Position PriorPos(ELinkList L, Link p); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * ǰ + * + * s뵽p֮ǰpָ½ + */ +Status InsBefore(ELinkList* L, Link* p, Link s); + +/* + * + * + * s뵽p֮ǰpָ½ + */ +Status InsAfter(ELinkList* L, Link* p, Link s); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +/* + * βƳ + * + * βƳƳĽô洢q + */ +Status Remove(ELinkList* L, Link* q); + +#endif diff --git a/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj new file mode 100644 index 0000000..bd7647c --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj @@ -0,0 +1,82 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {58E663CD-DDC0-48B4-BE73-5AA11CEED026} + My0210_MergeEList + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.filters b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.filters new file mode 100644 index 0000000..ecffb9f --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.user b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/0210_MergeEList.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0210_MergeEList/ELinkList.c b/VisualC++/CourseBook/0210_MergeEList/ELinkList.c new file mode 100644 index 0000000..fe46f87 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/ELinkList.c @@ -0,0 +1,324 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e) { + Link h, s; + + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + // ȷiֵϹ[1, len+1] + if(i < 1 || i > (*L).len + 1) { + return ERROR; + } + + // ҵi-1Ԫصã洢h + if(LocatePos(*L, i - 1, &h) == ERROR) { + return ERROR; + } + + // ½s + if(MakeNode(&s, e) == ERROR) { + return ERROR; + } + + // s뵽h棬Ϊhĵһ + if(InsFirst(L, h, s) == ERROR) { + return ERROR; + } + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)) { + Link p; + + if(L.len <= 0) { + return; + } + + // ָ1Ԫ + p = L.head->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + if(p == NULL) { + return INT_MIN; + } + + return p->data; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p) { + int j; + Link r; + + // עiΪ0 + if(i < 0 || i > L.len) { + return ERROR; + } + + // ֤(ͷ) + if(L.head == NULL) { + return ERROR; + } + + // iΪ0ʱȡͷ + if(i == 0) { + *p = L.head; + return OK; + } + + j = 0; // + r = L.head; // ָͷ + + while(r != NULL && j < i) { + j++; + r = r->next; + } + + if(r == NULL) { + return ERROR; + } + + *p = r; + + return OK; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ォɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/VisualC++/CourseBook/0210_MergeEList/ELinkList.h b/VisualC++/CourseBook/0210_MergeEList/ELinkList.h new file mode 100644 index 0000000..1bfb4e6 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/ELinkList.h @@ -0,0 +1,155 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * 㷨2.20 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + * Կ㷨2.9ĸд + */ +Status ListInsert(ELinkList* L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(ELinkList L, void(Visit)(ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * Lеi(Ϊ0)㣬ôpҷOK + * iֵϹ棬򷵻ERROR + * رע⣬iΪ0ʱp洢ͷ + */ +Status LocatePos(ELinkList L, int i, Link* p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/VisualC++/CourseBook/0210_MergeEList/MergeEList-main.c b/VisualC++/CourseBook/0210_MergeEList/MergeEList-main.c new file mode 100644 index 0000000..b5fbcd5 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/MergeEList-main.c @@ -0,0 +1,71 @@ +#include +#include "MergeEList.h" //**02 Ա**// + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} + +/* + * Ƚ + * + * Ƚe1e2ĴСֵ£ + * < 0e1 < e2 + * = 0e1 = e2 + * > 0e1 > e2 + */ +int Cmp(ElemType e1, ElemType e2) { + return e1 - e2; +} + +/* + * β巨 + * + *ע + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļfpжȡݡ + */ +void CreateList_Tail(char path[], ELinkList* L) { + FILE* fp; + int i, n; + ElemType e; + + fp = fopen(path, "r"); + if(fp == NULL) { + printf("ļʧ...\n"); + exit(ERROR); + } + + // ȡָԪص + ReadData(fp, "%d", &n); + + InitList(L); + + for(i = 1; i <= n; i++) { + ReadData(fp, "%d", &e); + ListInsert(L, i, e); + } + + fclose(fp); +} + + +int main(int argc, char** argv) { + ELinkList La, Lb, Lc; + + printf("LaLbԴ...\n"); + + CreateList_Tail("TestData_La.txt", &La); + printf("La= "); + ListTraverse(La, PrintElem); + + CreateList_Tail("TestData_Lb.txt", &Lb); + printf("Lb= "); + ListTraverse(Lb, PrintElem); + + MergeEList(&La, &Lb, &Lc, Cmp); + printf("ϲLaLbΪ Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} diff --git a/VisualC++/CourseBook/0210_MergeEList/MergeEList.c b/VisualC++/CourseBook/0210_MergeEList/MergeEList.c new file mode 100644 index 0000000..e445d32 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/MergeEList.c @@ -0,0 +1,75 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.21 + ================*/ + +#include "MergeEList.h" + +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)){ + Link ha, hb, pa, pb, q; + ElemType a, b; + + if(InitList(Lc) == ERROR) { + return ERROR; + } + + ha = GetHead(*La); // ָLaͷ + hb = GetHead(*Lb); // ָLbͷ + + // ֤LaLbЧпǿձ + if(ha == NULL || hb ==NULL) { + return ERROR; + } + + pa = NextPos(*La, ha); // ָLa1Ԫ + pb = NextPos(*La, hb); // ָLb1Ԫ + + // LaLbѡСԪأμ뵽Lc + while(pa !=NULL && pb!=NULL){ + a = GetCurElem(pa); + b = GetCurElem(pb); + + // La<=Lb + if(Compare(a, b)<=0) { + // ժLa׸Ԫ + DelFirst(La, ha, &q); + + // ժµԪ׷ӵLc + Append(Lc, q); + + // ȻǻȡLaе1Ԫ + pa = NextPos(*La, ha); + } else { + // ժLb׸Ԫ + DelFirst(Lb, hb, &q); + + // ժµԪ׷ӵLc + Append(Lc, q); + + // ȻǻȡLaе1Ԫ + pb = NextPos(*Lb, hb); + } + } + + // Laʣ + if(pa!=NULL) { + Append(Lc, pa); + } else { + Append(Lc, pb); + } + + // ͷLaͷ㡣̲Ƕha޷ÿLaͷָ룬޸ + FreeNode(&(La->head)); + + // ͷLbͷ㡣̲Ƕhb޷ÿLbͷָ룬޸ + FreeNode(&(Lb->head)); + + La->tail = NULL; + Lb->tail = NULL; + + La->len = 0; + Lb->len = 0; + + return OK; +} \ No newline at end of file diff --git a/VisualC++/CourseBook/0210_MergeEList/MergeEList.h b/VisualC++/CourseBook/0210_MergeEList/MergeEList.h new file mode 100644 index 0000000..5137f17 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/MergeEList.h @@ -0,0 +1,36 @@ +/*=============== + * 鲢ǽ + * + * 㷨: 2.21 + ================*/ + +#ifndef MERGEELIST_H +#define MERGEELIST_H + +#include +#include "Status.h" //**01 **// +#include "ELinkList.h" //**02 Ա**// + +/* + * ע + * + * Ϊ֮ǰĹ鲢㷨֣ォ㷨ΪMergeEList(̲еMergeList_L) + */ + +/* + * 㷨2.21 + * + * ǵݼ鲢C=A+B + * + * AB鲢ΪCұԪλò䡣 + * 鲢󣬻LaLb + */ +Status MergeEList(ELinkList* La, ELinkList* Lb, ELinkList* Lc, int(Compare)(ElemType, ElemType)); + +/* +(01)㷨2.21LaLbǵݼУ鲢ΪһǵݼеĵLc +*/ + + + +#endif diff --git a/VisualC++/CourseBook/0210_MergeEList/TestData_La.txt b/VisualC++/CourseBook/0210_MergeEList/TestData_La.txt new file mode 100644 index 0000000..dc09018 --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/TestData_La.txt @@ -0,0 +1,2 @@ +Aijȣ6 +La = 1 2 3 5 7 8 \ No newline at end of file diff --git a/VisualC++/CourseBook/0210_MergeEList/TestData_Lb.txt b/VisualC++/CourseBook/0210_MergeEList/TestData_Lb.txt new file mode 100644 index 0000000..df78f0a --- /dev/null +++ b/VisualC++/CourseBook/0210_MergeEList/TestData_Lb.txt @@ -0,0 +1,2 @@ +Bijȣ7 +Lb = 2 4 5 8 10 11 13 \ No newline at end of file diff --git a/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj new file mode 100644 index 0000000..ba70dba --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj @@ -0,0 +1,82 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {BA5E9196-08EF-4F25-9F82-D35296370F52} + My0211_Polynomial + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.filters b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.filters new file mode 100644 index 0000000..b67ac87 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.user b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/0211_Polynomial.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/CourseBook/0211_Polynomial/ELinkList.c b/VisualC++/CourseBook/0211_Polynomial/ELinkList.c new file mode 100644 index 0000000..65ecb40 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/ELinkList.c @@ -0,0 +1,338 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#include "ELinkList.h" //**02 Ա**// + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + // ռ + *p = (Link) malloc(sizeof(LNode)); + if(*p == NULL) { + // û˳򣬶Ƿشʾ + return ERROR; + } + + (*p)->data = e; + (*p)->next = NULL; + + return OK; +} + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p) { + if(p == NULL || *p == NULL) { + return; + } + + free(*p); + + *p = NULL; +} + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L) { + Link p; + + if(L == NULL) { + return ERROR; + } + + // ͷ + p = (Link) malloc(sizeof(LNode)); + if(p == NULL) { + exit(OVERFLOW); + } + p->next = NULL; + + // ֻͷʱλαָ + (*L).head = (*L).tail = p; + (*L).len = 0; + + return OK; +} + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L) { + + // ʱûҪ + if(L == NULL || (*L).head == NULL) { + return ERROR; + } + + ClearList(L); + + free((*L).head); + + (*L).head = (*L).tail = NULL; + + return OK; +} + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L) { + Link p, q; + + // ûЧԪʱҪ + if(L == NULL || (*L).head == NULL || (*L).len <= 0) { + return ERROR; + } + + // ָ1Ԫ + p = (*L).head->next; + + // ͷԪռڴ + while(p != NULL) { + q = p->next; + free(p); + p = q; + } + + (*L).head->next = NULL; + (*L).tail = (*L).head; + (*L).len = 0; + + return OK; +} + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L) { + return L.len; +} + +/* + * + * + * Һ봫ͳİ汾һ + * ȻԪeCompare()==0Ԫأҵʹq洢ãTrue + * ã׸ԪeCompare()>0ԪصǰFALSE + * еԪؾeq洢ͷá + * еԪؾСeq洢βá + * £Ὣqÿա + * + *ע + * 1.ԪeCompareڶβ + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)) { + Position pre, p; + + *q = NULL; + + // ڣشϢ + if(L.head == NULL) { + return FALSE; + } + + pre = L.head; + p = pre->next; + + while(p != NULL && Compare(p->data, e) < 0) { + pre = p; + p = p->next; + } + + // ҵe""Ԫ + if(p != NULL && Compare(p->data, e) == 0) { + *q = p; + return TRUE; + } + + // ԪؾСepԪشeֻΪձ + *q = pre; + + return FALSE; +} + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p) { + ElemType e; + + if(p == NULL) { + e.coef = 0.0f; + e.expn = -1; + return e; + } + + return p->data; +} + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e) { + if(p == NULL) { + return ERROR; + } + + p->data = e; + + return OK; +} + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L) { + return L.head; +} + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p) { + + // ȷ(ͷ) + if(L.head == NULL) { + return NULL; + } + + if(p == NULL) { + return NULL; + } + + return p->next; +} + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s) { + if(L == NULL || (*L).head == NULL || h == NULL || s == NULL) { + return ERROR; + } + + s->next = h->next; + h->next = s; + + // hΪβ㣬Ҫβ + if(h == (*L).tail) { + (*L).tail = h->next; + } + + (*L).len++; + + return OK; +} + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q) { + if(L == NULL || (*L).head == NULL || h == NULL || q == NULL) { + return ERROR; + } + + // ûнɾشϢ + if(h->next == NULL) { + return ERROR; + } + + *q = h->next; + + h->next = (*q)->next; + + // ɾɹĽ + (*q)->next = NULL; + + // hֻһ㣬βָ + if(h->next == NULL) { + (*L).tail = h; + } + + // ͷűɾռռ + (*L).len--; + + return OK; +} + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s) { + int count; + + if(L == NULL || (*L).head == NULL || s == NULL) { + return ERROR; + } + + count = 0; + (*L).tail->next = s; + + // ȷµβλ + while(s != NULL) { + (*L).tail = s; + s = s->next; + count++; + } + + (*L).len += count; + + return OK; +} diff --git a/VisualC++/CourseBook/0211_Polynomial/ELinkList.h b/VisualC++/CourseBook/0211_Polynomial/ELinkList.h new file mode 100644 index 0000000..44da806 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/ELinkList.h @@ -0,0 +1,175 @@ +/*======================= + * չĵ + * + * 㷨: 2.20 + ========================*/ + +#ifndef ELINKLIST_H +#define ELINKLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩһЩ޳ +#include "Status.h" //**01 **// + +/* + * ע + * + * ̲еΪLinkList + * Ϊ뵥֣ʽΪELinkList + * ɶͨһչ + */ + +/* + * ԪͶ + * ڶʽУõ˽ṹ͵Ԫ + */ +typedef struct { + float coef; // ʽϵ + int expn; // ʽָ +} ElemType; // ¶չԱԪ + +/* + * ṹ + * + * עͷ + */ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode, * Link, * Position; + +/* άͷβָ뼰Ϣ */ +typedef struct { + Link head, tail; // ֱָеͷβ + int len; // ָʾԪصĸ +} ELinkList; + + +/* ڴ */ + +/* + * ڴ + * + * Ϊһ㣬ָe + * + *ע + * staticεĺǸú޵ǰļʹ + */ +Status MakeNode(Link* p, ElemType e); + +/* + * ڴ + * + * ͷָĽ㡣 + * + *ע + * staticεĺǸú޵ǰļʹ + */ +void FreeNode(Link* p); + + +/* */ + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(ELinkList* L); + +/* + * (ṹ) + * + * ͷռڴ档 + */ +Status DestroyList(ELinkList* L); + +/* + * ÿ() + * + * Ҫͷзͷ㴦Ŀռ䡣 + */ +Status ClearList(ELinkList* L); + +/* + * + * + * ЧԪص + */ +int ListLength(ELinkList L); + +/* + * + * + * Һ봫ͳİ汾һ + * ȻԪeCompare()==0Ԫأҵʹq洢ãTrue + * ã׸ԪeCompare()>0ԪصǰFALSE + * еԪؾeq洢ͷá + * еԪؾСeq洢βá + * £Ὣqÿա + * + *ע + * 1.ԪeCompareڶβ + */ +Status LocateElem(ELinkList L, ElemType e, Position* q, Status(Compare)(ElemType, ElemType)); + + +/* չ */ + +/* + * ȡֵ + * + * ȡpԪֵ + */ +ElemType GetCurElem(Link p); + +/* + * ֵ + * + * ΪpԪֵ + */ +Status SetCurElem(Link p, ElemType e); + +/* + * ͷ + * + * ȡͷá + */ +Position GetHead(ELinkList L); + +/* + * + * + * ȡpḷ́ڣNULL + */ +Position NextPos(ELinkList L, Link p); + +/* + * + * + * s뵽h棬Ϊhĵһ + * + *ע + * ̲жڸ÷Щ⣬İ汾 + */ +Status InsFirst(ELinkList* L, Link h, Link s); + +/* + * ɾ + * + * ɾhĵһ㣬q洢ɾ + * + *ע + * ̲жڸ÷ĶԴֲڣİ汾 + */ +Status DelFirst(ELinkList* L, Link h, Link* q); + +/* + * β + * + * sָһL + */ +Status Append(ELinkList* L, Link s); + +#endif diff --git a/VisualC++/CourseBook/0211_Polynomial/Polynomial-main.c b/VisualC++/CourseBook/0211_Polynomial/Polynomial-main.c new file mode 100644 index 0000000..ab64e6e --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/Polynomial-main.c @@ -0,0 +1,79 @@ +#include "Polynomial.h" //**02 Ա**// + +int main(int argc, char **argv) { + Polynomial Pa, Pb; + int m, n; + + m = 5; + n = 6; + + printf(" CreatPolyn \n"); + { + printf(" ΪʾΪ %d ĶʽPa...\n", m); + CreatPolyn("TestData_Pa.txt", &Pa, m); + + printf(" ΪʾΪ %d ĶʽPb...\n", n); + CreatPolyn("TestData_Pb.txt", &Pb, n); + } + PressEnterToContinue(); + + + printf(" PrintPolyn \n"); + { + printf(" һԪʽ Pa = "); + PrintPolyn(Pa); + + printf(" һԪʽ Pb = "); + PrintPolyn(Pb); + } + PressEnterToContinue(); + + + printf(" PolynLength \n"); + { + printf(" La Ϊ %d Lb Ϊ %d\n", PolynLength(Pa), PolynLength(Pb)); + } + PressEnterToContinue(); + + + printf(" AddPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + AddPolyn(&Pa, &Pb); + + printf(" Pa = Pa + Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf(" SubtractPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + SubtractPolyn(&Pa, &Pb); + + printf(" Pa = Pa - Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + + printf(" MultiplyPolyn \n"); + { + CreatPolyn("TestData_Pa.txt", &Pa, m); + CreatPolyn("TestData_Pb.txt", &Pb, n); + + MultiplyPolyn(&Pa, &Pb); + + printf(" Pa = Pa * Pb = "); + PrintPolyn(Pa); + } + PressEnterToContinue(); + + return 0; +} + diff --git a/VisualC++/CourseBook/0211_Polynomial/Polynomial.c b/VisualC++/CourseBook/0211_Polynomial/Polynomial.c new file mode 100644 index 0000000..b575b3f --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/Polynomial.c @@ -0,0 +1,397 @@ +/*======================== + * һԪʽ() + * + * 㷨: 2.222.23 + =========================*/ + +#include "Polynomial.h" + + +/* һԪʽ */ + +/* + * 㷨2.22 + * + * + * + * ϵָΪmһԪʽ + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +void CreatPolyn(char path[], Polynomial* P, int m) { + FILE* fp; + int i; + ElemType e; + Position h, q; + Link s; + + // ʼһһԪʽ + InitList(P); + + // ȡʽͷָ + h = GetHead(*P); + + // Ϊͷ + e.coef = 0.0f; + e.expn = -1; + SetCurElem(h, e); + + // ļ׼ȡ + fp = fopen(path, "r"); + if(fp == NULL) { + exit(ERROR); + } + + // ¼mЧ + for(i = 1; i <= m; i++) { + // ȡϵָϢʱe + ReadData(fp, "%f%d", &(e.coef), &(e.expn)); + + // ǰвڸָ + if(LocateElem(*P, e, &q, Cmp) == FALSE && q != NULL) { + // ½ + if(MakeNode(&s, e) == OK) { + // q֮s + InsFirst(P, q, s); + } + } + } + + fclose(fp); +} + +/* + * + * + * һԪʽ + */ +void DestroyPolyn(Polynomial* P) { + DestroyList(P); +} + +/* + * + * + * һԪʽ + */ +int PolynLength(Polynomial P) { + return ListLength(P); +} + +/* + * 㷨2.23 + * + * ӷ + * + * һԪʽӷPa=Pa+Pb + * ɺ󣬼浽PaУPb١ + */ +void AddPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + ElemType a, b; + float sum; + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qaqbֱָPaPbĵǰ + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qaqbǿ + while(qa && qb) { + // abΪеǰȽԪ + a = GetCurElem(qa); + b = GetCurElem(qb); + + //ȽϵǰԪصָС + switch(Cmp(a, b)) { + // ʽPaеǰֵָС + case -1: { + ha = qa; + qa = NextPos(*Pa, qa); + } + break; + + // ֵ + case 0: { + sum = a.coef + b.coef; + + // ӲܵʱPaϵֵ + if(sum != 0.0) { + // SetCurElem()ʣֱӸֵ + qa->data.coef = sum; + // ha + ha = qa; + + //ӵʱɾPaеǰ + } else { + // ɾhaĽ㣨ʵɾľqa + DelFirst(Pa, ha, &qa); + // ͷűɾռռ + FreeNode(&qa); + } + + // ɾPbɨĽ + DelFirst(Pb, hb, &qb); + // ͷűɾռռ + FreeNode(&qb); + + // qaqb + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // ʽPbеǰֵָС + case 1: { + // ժPbǰ + DelFirst(Pb, hb, &qb); + + // ժ½Pa + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // Pbδɨ꣬ʣӵPa + if(qb != NULL) { + Append(Pa, qb); + } + + // ͷPbͷ + FreeNode(&hb); + + // PbΪ״̬ + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * + * + * һԪʽPa=Pa-Pb + * ɺ󣬼浽PaУPb١ + */ +void SubtractPolyn(Polynomial* Pa, Polynomial* Pb) { + Position ha, hb; + Position qa, qb; + Position r; + ElemType a, b; + float sum; + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // qaqbֱָPaPbĵǰ + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + + // qaqbǿ + while(qa && qb) { + // abΪеǰȽԪ + a = GetCurElem(qa); + b = GetCurElem(qb); + + // ȽϵǰԪصָС + switch(Cmp(a, b)) { + // ʽPaеǰֵָС + case -1: { + ha = qa; + qa = NextPos(*Pa, ha); + } + break; + + // ֵ + case 0: { + sum = a.coef - b.coef; + + // ܵʱPaϵֵ + if(sum != 0.0) { + // ϵ + qa->data.coef = sum; + // ha + ha = qa; + + // ʱɾPaеǰ + } else { + // ɾhaĽ㣨ʵɾľqa + DelFirst(Pa, ha, &qa); + // ͷűɾռռ + FreeNode(&qa); + } + + // ɾPbɨĽ + DelFirst(Pb, hb, &qb); + // ͷűɾռռ + FreeNode(&qb); + + // qaqb + qa = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + + // ʽPbеǰֵָС + case 1: { + // ժPbǰ + DelFirst(Pb, hb, &qb); + + // ı䵱ǰ + qb->data.coef = -qb->data.coef; + + // ժ½Pa + InsFirst(Pa, ha, qb); + + ha = NextPos(*Pa, ha); + qb = NextPos(*Pb, hb); + } + break; + }//switch + }//while + + // Pbδɨ꣬ʣϵȡӵPa + if(qb != NULL) { + // ıʣķ + for(r = qb = 0; r != NULL; r = r->next) { + r->data.coef = -r->data.coef; + } + + Append(Pa, qb); + } + + // ͷPbͷ + FreeNode(&hb); + + // PbΪ״̬ + (*Pb).head = (*Pb).tail = NULL; + (*Pb).len = 0; +} + +/* + * ˷ + * + * һԪʽ˷Pa=Pa*Pb + * ɺ󣬼浽PaУPb١ + */ +void MultiplyPolyn(Polynomial* Pa, Polynomial* Pb) { + Polynomial Pc, Ptmp; + int i, j, la, lb; + Position ha, hb; + Position qa, qb; + Link s; + ElemType e; + + // ȡʽij + la = PolynLength(*Pa); + lb = PolynLength(*Pb); + + // hahbֱָPaPbͷ + ha = GetHead(*Pa); + hb = GetHead(*Pb); + + // ۼӼ + InitList(&Pc); + + // PaеԪ + for(i = 1; i <= la; i++) { + // 洢ʱ + InitList(&Ptmp); + + // ժPaеĽ + DelFirst(Pa, ha, &qa); + + // Pbн㣬PaժµĽ + for(j = 1, qb = NextPos(*Pb, hb); j <= lb; j++, qb = NextPos(*Pb, qb)) { + e.coef = qa->data.coef * qb->data.coef; //ϵ + e.expn = qa->data.expn + qb->data.expn; //ָ + + // ½洢 + MakeNode(&s, e); + + // ӵʱʽ + Append(&Ptmp, s); + } + + // µĶʽۼӵPc + AddPolyn(&Pc, &Ptmp); + } + + // нӵPa + AddPolyn(Pa, &Pc); + + // ٶʽPb + DestroyPolyn(Pb); +} + + +/* */ + +/* + * + * + * ӡһԪʽ + */ +void PrintPolyn(Polynomial P) { + int i; + Link p; + + p = P.head->next; + for(i = 1; i <= P.len; i++) { + if(p->data.coef == 0.0f) { + continue; + } + + if(i == 1) { + printf("%g", p->data.coef); + } else { + if(p->data.coef > 0) { + printf(" + "); + printf("%g", p->data.coef); + } else { + printf(" - "); + printf("%g", -p->data.coef); + } + } + + if(p->data.expn) { + printf("x"); + + if(p->data.expn != 1) { + printf("^%d", p->data.expn); + } + } + + p = p->next; + } + + printf("\n"); +} + +/* + * Ƚ + * + * Ƚc1c2ָС + */ +int Cmp(ElemType c1, ElemType c2) { + // ָ + int i = c1.expn - c2.expn; + + if(i < 0) { + return -1; + } else if(i == 0) { + return 0; + } else { + return 1; + } +} diff --git a/VisualC++/CourseBook/0211_Polynomial/Polynomial.h b/VisualC++/CourseBook/0211_Polynomial/Polynomial.h new file mode 100644 index 0000000..8a6204a --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/Polynomial.h @@ -0,0 +1,91 @@ +/*======================== + * һԪʽ() + * + * 㷨: 2.222.23 + =========================*/ + +#ifndef POLYNOMIAL_H +#define POLYNOMIAL_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "ELinkList.h" //**02 Ա**// + +/* һԪʽͶ */ +typedef ELinkList Polynomial; + + +/* һԪʽ */ + +/* + * 㷨2.22 + * + * + * + * ϵָΪmһԪʽ + * + *ע + * ̲Ĭϴӿ̨ȡݡ + * Ϊ˷ԣÿжֶݣ + * ѡ˴Ԥļpathжȡ + */ +void CreatPolyn(char path[], Polynomial *P, int m); + +/* + * + * + * һԪʽ + */ +void DestroyPolyn(Polynomial *P); + +/* + * + * + * һԪʽ + */ +int PolynLength(Polynomial P); + +/* + * 㷨2.23 + * + * ӷ + * + * һԪʽӷPa=Pa+Pb + * ɺ󣬼浽PaУPb١ + */ +void AddPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * + * + * һԪʽPa=Pa-Pb + * ɺ󣬼浽PaУPb١ + */ +void SubtractPolyn(Polynomial *Pa, Polynomial *Pb); + +/* + * ˷ + * + * һԪʽ˷Pa=Pa*Pb + * ɺ󣬼浽PaУPb١ + */ +void MultiplyPolyn(Polynomial *Pa, Polynomial *Pb); + + +/* */ + +/* + * + * + * ӡһԪʽ + */ +void PrintPolyn(Polynomial P); + +/* + * Ƚ + * + * Ƚc1c2ָС + */ +int Cmp(ElemType c1, ElemType c2); + +#endif diff --git a/VisualC++/CourseBook/0211_Polynomial/TestData_Pa.txt b/VisualC++/CourseBook/0211_Polynomial/TestData_Pa.txt new file mode 100644 index 0000000..e72f216 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/TestData_Pa.txt @@ -0,0 +1 @@ +Pa = (2.1 , 1) (5.3 , 7) (4.0 , 3) (2.5 , 9) (-3.12 , 5) \ No newline at end of file diff --git a/VisualC++/CourseBook/0211_Polynomial/TestData_Pb.txt b/VisualC++/CourseBook/0211_Polynomial/TestData_Pb.txt new file mode 100644 index 0000000..2940e87 --- /dev/null +++ b/VisualC++/CourseBook/0211_Polynomial/TestData_Pb.txt @@ -0,0 +1 @@ +Pb = (0.5 , 12) (-3.17 , 4) (3.4 , 2) (-2.5 , 9) (4.1 , 5) (1.8 , 8) \ No newline at end of file diff --git a/VisualC++/CourseBook/CourseBook.sdf b/VisualC++/CourseBook/CourseBook.sdf new file mode 100644 index 0000000000000000000000000000000000000000..67ff2c3e92122b2540683bb2a197a8037d1cd01f GIT binary patch literal 2969600 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

    ObCR-4(o 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 literal 0 HcmV?d00001 diff --git a/VisualC++/ExerciseBook/01.16/01.16.c b/VisualC++/ExerciseBook/01.16/01.16.c new file mode 100644 index 0000000..e47616f --- /dev/null +++ b/VisualC++/ExerciseBook/01.16/01.16.c @@ -0,0 +1,53 @@ +#include + +/* + * 1.16 + * + * 3ӴС˳ + */ +void Algo_1_16(int *x, int *y, int *z); + + +int main(int argc, char* argv[]) { + int x, y, z; + + x = 3; + y = 7; + z = 1; + + printf("Ϊʾ趨Ϊ%d %d %d...\n", x, y, z); + + // + Algo_1_16(&x, &y, &z); + + printf("ӴСΪ%d %d %d...\n", x, y, z); + + return 0; +} + + +// 3ӴС˳ +void Algo_1_16(int *x, int *y, int *z) { + int tmp; + + // ȷx>=y + if(*x < *y) { + tmp = *x; + *x = *y; + *y = tmp; + } + + // ȷz>=y + if(*y < *z) { + tmp = *y; + *y = *z; + *z = tmp; + } + + // ȷx>=z + if(*x < *z) { + tmp = *x; + *x = *z; + *z = tmp; + } +} diff --git a/VisualC++/ExerciseBook/01.16/01.16.vcxproj b/VisualC++/ExerciseBook/01.16/01.16.vcxproj new file mode 100644 index 0000000..6dc861b --- /dev/null +++ b/VisualC++/ExerciseBook/01.16/01.16.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {5D2C546F-8544-475E-8060-44A929F48A65} + My0116 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.16/01.16.vcxproj.filters b/VisualC++/ExerciseBook/01.16/01.16.vcxproj.filters new file mode 100644 index 0000000..d8dc5ba --- /dev/null +++ b/VisualC++/ExerciseBook/01.16/01.16.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/01.16/01.16.vcxproj.user b/VisualC++/ExerciseBook/01.16/01.16.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/01.16/01.16.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.17/01.17.c b/VisualC++/ExerciseBook/01.17/01.17.c new file mode 100644 index 0000000..0959239 --- /dev/null +++ b/VisualC++/ExerciseBook/01.17/01.17.c @@ -0,0 +1,86 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* + * 1.171ݹ㷨 + * + * k쳲еmֵ + * + * עintͣʱ + */ +int Algo_1_17_1(int k, int m); + +/* + * 1.172()㷨 + * + * k쳲еmֵ + * + * עintͣʱ + */ +int Algo_1_17_2(int k, int m); + + +int main(int argc, char* argv[]) { + int k, m; + + k = 3; + m = 20; + + printf("Ϊʾ %d 쳲е %d ֵΪ%d \n", k, m, Algo_1_17_1(k, m)); + + printf("Ϊʾ %d 쳲е %d ֵΪ%d \n", k, m, Algo_1_17_2(k, m)); + + return 0; +} + + +// k쳲еmֵ +int Algo_1_17_1(int k, int m) { + int i, value; + + if(k < 2 || m < 0) { + exit(OVERFLOW); + } + + if(m < k - 1) { + return 0; + } else if(m == k - 1) { + return 1; + } else { + for(i = 1, value = 0; i <= k; i++) { + value += Algo_1_17_1(k, m - i); + } + + return value; + } +} + +// k쳲еmֵ +int Algo_1_17_2(int k, int m) { + int i, j; + int* fib; + + if(k < 1 || m < 0) { + exit(OVERFLOW); + } + + // fib + fib = (int*) malloc((m + 1) * sizeof(int)); + + // ʼǰk-1Ϊ0 + for(i = 0; i < k - 1 ;i++) { + fib[i] = 0; + } + + fib[k-1] = 1; + + for(i = k; i <= m; ++i) { + // ۼǰk + for(j = i - 1, fib[i] = 0; j >= i - k; j--) { + fib[i] += fib[j]; + } + } + + return fib[m]; +} diff --git a/VisualC++/ExerciseBook/01.17/01.17.vcxproj b/VisualC++/ExerciseBook/01.17/01.17.vcxproj new file mode 100644 index 0000000..6710099 --- /dev/null +++ b/VisualC++/ExerciseBook/01.17/01.17.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D604D310-9601-49FB-ABEE-48D81E6A2724} + My0117 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.17/01.17.vcxproj.filters b/VisualC++/ExerciseBook/01.17/01.17.vcxproj.filters new file mode 100644 index 0000000..17b7e23 --- /dev/null +++ b/VisualC++/ExerciseBook/01.17/01.17.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/01.17/01.17.vcxproj.user b/VisualC++/ExerciseBook/01.17/01.17.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/01.17/01.17.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.19/01.19.c b/VisualC++/ExerciseBook/01.19/01.19.c new file mode 100644 index 0000000..31d5b91 --- /dev/null +++ b/VisualC++/ExerciseBook/01.19/01.19.c @@ -0,0 +1,55 @@ +#include +#include // ṩINT_MAX +#include "Status.h" //**01 **// + +/* 궨 */ +#define arrsize 20 //鳤 +#define maxint INT_MAX // + +/* + * 1.17 + * + * i!*2^iֵa[i-1]i[1, arrsize] + * + * i!*2^i = (i-1)!*2^(i-1) * i * 2 + */ +Status Algo_1_19(int i, int a[]); + + +int main(int argc, char* argv[]) { + int i, a[arrsize]; + + i = 5; + + printf("i!*2^i...\n"); + + if(Algo_1_19(i, a) == OK) { + printf("Ϊʾ㵱i = %d ʱa[i-1] = %d\n", i, a[i - 1]); + } + + return 0; +} + + +// i!*2^iֵ +Status Algo_1_19(int i, int a[]) { + int j; + + if(i < 1 || i > arrsize) { + return ERROR; + } + + // i==1ʱ + a[0] = 2; + + // i>1ʱ + for(j = 2; j <= i; j++) { + if(maxint / (2 * j) < a[j - 2]) { + return OVERFLOW; + } + + a[j - 1] = a[j - 2] * j * 2; + } + + return OK; +} diff --git a/VisualC++/ExerciseBook/01.19/01.19.vcxproj b/VisualC++/ExerciseBook/01.19/01.19.vcxproj new file mode 100644 index 0000000..62a8803 --- /dev/null +++ b/VisualC++/ExerciseBook/01.19/01.19.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {F30CB20D-C44F-45FF-AA39-D459E6EB16B9} + My0119 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.19/01.19.vcxproj.filters b/VisualC++/ExerciseBook/01.19/01.19.vcxproj.filters new file mode 100644 index 0000000..0ef5a41 --- /dev/null +++ b/VisualC++/ExerciseBook/01.19/01.19.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/01.19/01.19.vcxproj.user b/VisualC++/ExerciseBook/01.19/01.19.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/01.19/01.19.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.20/01.20.c b/VisualC++/ExerciseBook/01.20/01.20.c new file mode 100644 index 0000000..1d1c8b3 --- /dev/null +++ b/VisualC++/ExerciseBook/01.20/01.20.c @@ -0,0 +1,34 @@ +#include +#include //ṩpowԭ + +/* + * 1.20 + * + * ʽPn(Xo)ֵ + */ +double Algo_1_20(int a[], int x, int n); + + +int main(int argc, char* argv[]) { + int a[5] = {-2, 3, 6, -8, 7}; + int n = 5; + int Xo = 3; + + printf("Ϊʾ趨n = 5Xo = 3Pn(Xo)...\n"); + printf("P%d(%d) = %f\n", n, Xo, Algo_1_20(a, Xo, n)); + + return 0; +} + + +// ʽPn(Xo)ֵ +double Algo_1_20(int a[], int x, int n) { + int i; + double tmp; + + for(i = 1, tmp = 0; i <= n; i++) { + tmp += a[i - 1] * pow(x, i - 1); + } + + return tmp; +} \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.20/01.20.vcxproj b/VisualC++/ExerciseBook/01.20/01.20.vcxproj new file mode 100644 index 0000000..c75e6d0 --- /dev/null +++ b/VisualC++/ExerciseBook/01.20/01.20.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A6883C77-6D02-44B1-B492-965B019E15C2} + My0120 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/01.20/01.20.vcxproj.filters b/VisualC++/ExerciseBook/01.20/01.20.vcxproj.filters new file mode 100644 index 0000000..c98c2c9 --- /dev/null +++ b/VisualC++/ExerciseBook/01.20/01.20.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/01.20/01.20.vcxproj.user b/VisualC++/ExerciseBook/01.20/01.20.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/01.20/01.20.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.10/02.10.c b/VisualC++/ExerciseBook/02.10/02.10.c new file mode 100644 index 0000000..76b985f --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/02.10.c @@ -0,0 +1,68 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.10 + * + * ɾ˳дӵiԪkԪ + * ikֵϹ棬˳б仯 + */ +Status Algo_2_10(SqList* a, int i, int k); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 15; i++) { + ListInsert(&L, i, i); + } + + printf("ɾǰL = "); + ListTraverse(L, PrintElem); + + printf("ɾ 6 Ԫ 5 Ԫ...\n"); + Algo_2_10(&L, 6, 5); + + printf("ɾL = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ɾ˳дӵiԪkԪ +Status Algo_2_10(SqList* a, int i, int k) { + int j; + + // ȷ˳ + if(a == NULL || a->elem == NULL) { + return ERROR; + } + + // ±Խ + if(i < 1 || i > (*a).length || k < 0 || i + k - 1 > (*a).length) { + return ERROR; + } + + for(j = i; j <= i + k - 1; j++) { + (*a).elem[j - 1] = (*a).elem[j + k - 1]; + } + + (*a).length -= k; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.10/02.10.vcxproj b/VisualC++/ExerciseBook/02.10/02.10.vcxproj new file mode 100644 index 0000000..1b13504 --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/02.10.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {00719F0C-F124-42BE-9297-711FF153A064} + My0210 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.10/02.10.vcxproj.filters b/VisualC++/ExerciseBook/02.10/02.10.vcxproj.filters new file mode 100644 index 0000000..b5c8292 --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/02.10.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.10/02.10.vcxproj.user b/VisualC++/ExerciseBook/02.10/02.10.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/02.10.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.10/SqList.c b/VisualC++/ExerciseBook/02.10/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.10/SqList.h b/VisualC++/ExerciseBook/02.10/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/VisualC++/ExerciseBook/02.10/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.11/02.11.c b/VisualC++/ExerciseBook/02.11/02.11.c new file mode 100644 index 0000000..716a9a0 --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/02.11.c @@ -0,0 +1,92 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.11 + * + * x뵽va + */ +Status Algo_2_11(SqList* va, ElemType x); + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 5; i++) { + ListInsert(&L, i, 2 * i); + } + + printf("ǰL = "); + ListTraverse(L, PrintElem); + + printf("Ԫ\"5\"뵽˳...\n"); + Algo_2_11(&L, 5); + + printf("L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// x뵽va +Status Algo_2_11(SqList* va, ElemType x) { + int i, j; + ElemType* newbase; + + // ȷ˳ + if(va == NULL || va->elem == NULL) { + return ERROR; + } + + // 洢ռ迪¿ռ + if((*va).length == (*va).listsize) { + newbase = (ElemType*) realloc((*va).elem, ((*va).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + exit(OVERFLOW); + } + + (*va).elem = newbase; + (*va).listsize += LISTINCREMENT; + } + + // ˳׸ԪxԪλλxҪλ + i = LocateElem(*va, x, CmpGreater); + if(i == 0) { + // Ҫ뵽˳ + i = (*va).length + 1; + } + + // Ԫغƣڳλáעjλ򣬼1֮ + for(j=(*va).length + 1; j>i; j--){ + (*va).elem[j-1] = (*va).elem[j-2]; + } + + (*va).elem[j-1] = x; + (*va).length++; + + return OK; +} + +// жdata>eǷ +Status CmpGreater(ElemType data, ElemType e) { + return data > e ? TRUE : FALSE; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.11/02.11.vcxproj b/VisualC++/ExerciseBook/02.11/02.11.vcxproj new file mode 100644 index 0000000..f225d0d --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/02.11.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {52058BF7-48EF-4058-A47D-C358600A3D43} + My0211 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.11/02.11.vcxproj.filters b/VisualC++/ExerciseBook/02.11/02.11.vcxproj.filters new file mode 100644 index 0000000..8a34bce --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/02.11.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.11/02.11.vcxproj.user b/VisualC++/ExerciseBook/02.11/02.11.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/02.11.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.11/SqList.c b/VisualC++/ExerciseBook/02.11/SqList.c new file mode 100644 index 0000000..0d96ded --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/SqList.c @@ -0,0 +1,142 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + ElemType* p; + + // ȷ˳ṹ + if(L.elem == NULL) { + return ERROR; + } + + /* + * iijֵΪ1Ԫصλ + * + * ʵȻдǽiʼΪ1Ԫص + * ڽ̲ǰλģдλ + */ + i = 1; + + // pijֵΪ1ԪصĴ洢λ + p = L.elem; + + // ˳ + while(i <= L.length && !Compare(*p++, e)) { + ++i; + } + + if(i <= L.length) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.11/SqList.h b/VisualC++/ExerciseBook/02.11/SqList.h new file mode 100644 index 0000000..4de6606 --- /dev/null +++ b/VisualC++/ExerciseBook/02.11/SqList.h @@ -0,0 +1,74 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.6 + * + * + * + * ˳׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(SqList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.12/02.12.c b/VisualC++/ExerciseBook/02.12/02.12.c new file mode 100644 index 0000000..bc988c7 --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/02.12.c @@ -0,0 +1,86 @@ +#include +#include "SqList.h" //**02 Ա**// + +/* + * 2.12 + * + * Ƚ˳СȽϲǴұ˳ + * ׶ԲͬԪʱݸԪصĴСϵȷ˳ĴСϵ + * + * ֵ-101ֱAB + */ +int Algo_2_12(SqList A, SqList B); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + int i, mark; + SqList A, B; + + int a[7] = {1, 2, 3, 4, 5, 9, 12}; + int b[7] = {1, 2, 3, 4, 5, 11, 12}; + + // ʼ + InitList(&A); + InitList(&B); + + // ֵ + for(i = 1; i <= 7; i++) { + ListInsert(&A, i, a[i - 1]); + ListInsert(&B, i, b[i - 1]); + } + + printf("A = "); + ListTraverse(A, PrintElem); + + printf("B = "); + ListTraverse(B, PrintElem); + + mark = Algo_2_12(A, B); + if(mark < 0) { + printf("==> A 1) { + printf("==> A>B\n"); + } else { + printf("A==B\n"); + } + + return 0; +} + + +// Ƚ˳С +int Algo_2_12(SqList A, SqList B) { + int i = 0; + + // ɨ˳AB + while(i < A.length && i < B.length) { + if(A.elem[i] > B.elem[i]) { + return 1; + } else if(A.elem[i] < B.elem[i]) { + return -1; + } else { + i++; //ʱȽһԪ + } + } + + // Aʣ࣬A + if(i < A.length) { + return 1; + + // Bʣ࣬B + } else if(i < B.length) { + return -1; + + // ͬʱɨ꣬ + } else { + return 0; + } +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.12/02.12.vcxproj b/VisualC++/ExerciseBook/02.12/02.12.vcxproj new file mode 100644 index 0000000..dd90a57 --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/02.12.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {BB137EB3-5250-427B-95D7-0D26A73234C7} + My0212 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.12/02.12.vcxproj.filters b/VisualC++/ExerciseBook/02.12/02.12.vcxproj.filters new file mode 100644 index 0000000..e85b0d2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/02.12.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.12/02.12.vcxproj.user b/VisualC++/ExerciseBook/02.12/02.12.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/02.12.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.12/SqList.c b/VisualC++/ExerciseBook/02.12/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.12/SqList.h b/VisualC++/ExerciseBook/02.12/SqList.h new file mode 100644 index 0000000..cd00561 --- /dev/null +++ b/VisualC++/ExerciseBook/02.12/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.13/02.13.c b/VisualC++/ExerciseBook/02.13/02.13.c new file mode 100644 index 0000000..44ca935 --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/02.13.c @@ -0,0 +1,60 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.13 + * + * ѰԪxLеλá + * 0˵xڡ + */ +int Algo_2_13(LinkList L, ElemType x); + +// жdata==eǷ +Status Equals(ElemType data, ElemType e); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 10; i++) { + ListInsert(L, i, 2 * i); + } + + // ˳ + printf("L = "); + ListTraverse(L, PrintElem); + + printf("Ԫ \"12\" LеλΪ %d \n", Algo_2_13(L, 12)); + + return 0; +} + + +// ѰԪxLеλ +int Algo_2_13(LinkList L, ElemType x) { + // ֱӵIJҺ + return LocateElem(L, x, Equals); +} + +// жdata==eǷ +Status Equals(ElemType data, ElemType e) { + if(data == e) { + return TRUE; + } else { + return FALSE; + } +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.13/02.13.vcxproj b/VisualC++/ExerciseBook/02.13/02.13.vcxproj new file mode 100644 index 0000000..869ebad --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/02.13.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {F9D880FE-6305-4B6A-AF56-0BE0C976D006} + My0213 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.13/02.13.vcxproj.filters b/VisualC++/ExerciseBook/02.13/02.13.vcxproj.filters new file mode 100644 index 0000000..8d2d82c --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/02.13.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.13/02.13.vcxproj.user b/VisualC++/ExerciseBook/02.13/02.13.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/02.13.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.13/LinkList.c b/VisualC++/ExerciseBook/02.13/LinkList.c new file mode 100644 index 0000000..2e75ab5 --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/LinkList.c @@ -0,0 +1,125 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)) { + int i; + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 1; // iijֵΪ1Ԫصλ + p = L->next; // pijֵΪ1Ԫصָ + + while(p != NULL && !Compare(p->data, e)) { + i++; + p = p->next; + } + + if(p != NULL) { + return i; + } else { + return 0; + } +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.13/LinkList.h b/VisualC++/ExerciseBook/02.13/LinkList.h new file mode 100644 index 0000000..93b4faa --- /dev/null +++ b/VisualC++/ExerciseBook/02.13/LinkList.h @@ -0,0 +1,68 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * + * + * ׸eCompareϵԪλ + * Ԫأ򷵻0 + * + *ע + * ԪeCompareڶβ + */ +int LocateElem(LinkList L, ElemType e, Status(Compare)(ElemType, ElemType)); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.14/02.14.c b/VisualC++/ExerciseBook/02.14/02.14.c new file mode 100644 index 0000000..6660205 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/02.14.c @@ -0,0 +1,46 @@ +#include +#include "LinkList.h" //**02 Ա**// + +/* + * 2.14 + * + * ȡ˳Lijȡ + */ +int Algo_2_14(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ʼ˳ + InitList(&L); + + // ֵ + for(i = 1; i <= 15; i++) { + ListInsert(L, i, 2 * i); + } + + // ˳ + printf("L = "); + ListTraverse(L, PrintElem); + + printf("LijΪ %d \n", Algo_2_14(L)); + + return 0; +} + + +// ȡ˳Lij +int Algo_2_14(LinkList L) { + // ֱӵļ + return ListLength(L); +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.14/02.14.vcxproj b/VisualC++/ExerciseBook/02.14/02.14.vcxproj new file mode 100644 index 0000000..db4e7f1 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/02.14.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {AA43C2F9-4ADF-41F2-89ED-47843643C4A3} + My0214 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.14/02.14.vcxproj.filters b/VisualC++/ExerciseBook/02.14/02.14.vcxproj.filters new file mode 100644 index 0000000..8121443 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/02.14.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.14/02.14.vcxproj.user b/VisualC++/ExerciseBook/02.14/02.14.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/02.14.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.14/LinkList.c b/VisualC++/ExerciseBook/02.14/LinkList.c new file mode 100644 index 0000000..de7f136 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/LinkList.c @@ -0,0 +1,118 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L) { + LinkList p; + int i; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return 0; + } + + i = 0; + p = L->next; + + // н + while(p != NULL) { + i++; + p = p->next; + } + + return i; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.14/LinkList.h b/VisualC++/ExerciseBook/02.14/LinkList.h new file mode 100644 index 0000000..5911e04 --- /dev/null +++ b/VisualC++/ExerciseBook/02.14/LinkList.h @@ -0,0 +1,64 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * + * + * ЧԪص + */ +int ListLength(LinkList L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.15/02.15.c b/VisualC++/ExerciseBook/02.15/02.15.c new file mode 100644 index 0000000..4b62d2e --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/02.15.c @@ -0,0 +1,90 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.15 + * + * hahb洢hcС + */ +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList ha, hb, hc = NULL; + int i; + + // ʼ + InitList(&ha); + InitList(&hb); + + // ֵ + for(i = 1; i <= 5; i++) { + ListInsert(ha, i, 2 * i - 1); + ListInsert(hb, i, 2 * i); + } + + printf("ha = "); + ListTraverse(ha, PrintElem); + + printf("hb = "); + ListTraverse(hb, PrintElem); + + // hahb + Algo_2_15(&ha, &hb, &hc); + + printf("hc = "); + ListTraverse(hc, PrintElem); + + return 0; +} + + +// hahb洢hc +Status Algo_2_15(LinkList* ha, LinkList* hb, LinkList* hc) { + LinkList pa, pb; + + *hc = NULL; + + // ȷhahb + if(ha == NULL || *ha == NULL || hb == NULL || *hb == NULL) { + return ERROR; + } + + pa = *ha; + pb = *hb; + + // ΪЧʣҪȱͬIJ + while(pa->next != NULL && pb->next != NULL) { + pa = pa->next; + pb = pb->next; + } + + // haѾͷˣhbʣ + if(pa->next == NULL && pb->next != NULL) { + *hc = *ha; + pa->next = (*hb)->next; + free(*hb); + } + + // hbѾͷˣhaʣ࣬Ҳû + if(pb->next == NULL) { + *hc = *hb; + pb->next = (*ha)->next; + free(*ha); + } + + // ha/hbͷ + *ha = NULL; + *hb = NULL; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.15/02.15.vcxproj b/VisualC++/ExerciseBook/02.15/02.15.vcxproj new file mode 100644 index 0000000..67cffc4 --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/02.15.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA} + My0215 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.15/02.15.vcxproj.filters b/VisualC++/ExerciseBook/02.15/02.15.vcxproj.filters new file mode 100644 index 0000000..4c911df --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/02.15.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.15/02.15.vcxproj.user b/VisualC++/ExerciseBook/02.15/02.15.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/02.15.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.15/LinkList.c b/VisualC++/ExerciseBook/02.15/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.15/LinkList.h b/VisualC++/ExerciseBook/02.15/LinkList.h new file mode 100644 index 0000000..d3b16d7 --- /dev/null +++ b/VisualC++/ExerciseBook/02.15/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.c b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.c new file mode 100644 index 0000000..c9bb25a --- /dev/null +++ b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.c @@ -0,0 +1,296 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵûСͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.16 + * + * ɾlaеiλlenԪأӵlbjλ֮ǰ + */ +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len); + +/* + * 2.17 + * + * Ԫb뵽LiλϣiԪصλ򣬴1ʼ + */ +Status Algo_2_17(LinkList* L, int i, ElemType b); + +/* + * 2.18 + * + * ɾLĵi㣬iԪصλ򣬴1ʼ + */ +Status Algo_2_18(LinkList* L, int i); + +// ʼͷL +void InitList(LinkList* L); + +// ͷеԪ +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + int i; + LinkList la, lb; + + InitList(&la); + InitList(&lb); + + printf(" 2.17 ֤...\n"); + for(i = 1; i <= 10; i++) { + Algo_2_17(&la, i, 2 * i - 1); + Algo_2_17(&lb, i, 2 * i); + } + printf(" ͷ\n"); + printf(" la = "); + Output(la); + printf(" lb = "); + Output(lb); + PressEnterToContinue(); + + printf(" 2.16 ֤...\n"); + printf(" laдӵ25뵽lbĵ6֮ǰ...\n"); + Algo_2_16(&la, &lb, 2, 6, 5); + printf(" la = "); + Output(la); + printf(" lb = "); + Output(lb); + PressEnterToContinue(); + + printf(" 2.18 ֤...\n"); + printf(" ɾlb65...\n"); + for(i = 1; i <= 5; i++) { + Algo_2_18(&lb, 6); + } + printf(" ɾɺlb = "); + Output(lb); + + return 0; +} + + +// ɾlaеiλlenԪأӵlbjλ֮ǰ +Status Algo_2_16(LinkList* la, LinkList* lb, int i, int j, int len) { + LinkList p; // ָlaеi-1 + LinkList q; // ָlaеi+len-1 + LinkList r; // ָqĽ + LinkList s; // ָlbеj-1 + int k; + + if(i <= 0 || j <= 0 || len <= 0) { + return ERROR; + } + + // ȷlaнժ + if(la == NULL || *la == NULL) { + return ERROR; + } + + + // ȷpλ + k = 1; + p = *la; + + if(i == 1) { + p = NULL; + } else { + // laеi-1㣬ұ̴֤ + while(p->next != NULL && k < i - 1) { + ++k; + p = p->next; + } + + // δҵʵλ + if(p->next == NULL) { + return ERROR; + } + } + + + // ȷqλ + if(p == NULL) { + q = *la; + } else { + q = p->next; + } + k = i; + + while(q != NULL && k < i + len - 1) { + ++k; + q = q->next; + } + + if(q == NULL) { + return ERROR; + } + + // ȷrλ + r = q->next; + + + if(lb == NULL) { + return ERROR; + } + + // ȷsλ + k = 1; + s = *lb; + + // 뵽lbһλ֮ǰ + if(j == 1) { + q->next = *lb; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + *lb = p->next; + p->next = r; + } + } else { + // lbеj-1㣬ұ̴֤ + while(s->next != NULL && k < j - 1) { + ++k; + s = s->next; + } + + // δҵʵλ + if(s->next == NULL) { + return ERROR; + } + + q->next = s->next; + + if(p == NULL) { + *lb = *la; + *la = r; + } else { + s->next = p->next; + p->next = r; + } + } + + return OK; +} + +// Ԫb뵽Liλ +Status Algo_2_17(LinkList* L, int i, ElemType b) { + LinkList p, s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i1ʼ + if(i <= 0) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = b; + + j = 1; + p = *L; + + // + if(i == 1) { + s->next = p; + *L = s; + } else { + // ҵi-1㣬ұ֤ + while(p != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // δҵʵλ + if(p == NULL) { + return ERROR; + } + + s->next = p->next; + p->next = s; + } + + return OK; +} + +// ɾLĵi +Status Algo_2_18(LinkList* L, int i) { + LinkList p, q; + int j; + + // ȷнɾ + if(L == NULL || *L == NULL) { + return ERROR; + } + + // i1ʼ + if(i <= 0) { + return ERROR; + } + + j = 1; + p = *L; + + // + if(i == 1) { + *L = p->next; + free(p); + } else { + // ҵi-1㣬ұ̴֤ + while(p->next != NULL && j < i - 1) { + ++j; + p = p->next; + } + + // δҵʵλ + if(p->next == NULL) { + return ERROR; + } + + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// ʼͷL +void InitList(LinkList* L) { + *L = NULL; +} + +// ͷеԪ +void Output(LinkList L) { + while(L != NULL) { + printf("%2d ", L->data); + L = L->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj new file mode 100644 index 0000000..84a918b --- /dev/null +++ b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {F3E461F8-2545-4922-AF95-C0FAC35EDF8D} + My02160218 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.filters b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.filters new file mode 100644 index 0000000..fbab577 --- /dev/null +++ b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.user b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.16-02.18/02.16-02.18.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.c b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.c new file mode 100644 index 0000000..c36a97f --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.c @@ -0,0 +1,194 @@ +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.19һ + * + * ɾԱԪֵ(mink, maxk)֮Ľ㡣 + */ +Status Algo_2_19_1(LinkList L, int mink, int maxk); + +/* + * 2.19 + * + * ɾԱԪֵ(mink, maxk)֮Ľ㡣 + */ +Status Algo_2_19_2(LinkList L, int mink, int maxk); + +/* + * 2.20 + * + * ԷǵݼԱȥأظԪأһ + */ +Status Algo_2_20(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList L; + int mink1, mink2, maxk1, maxk2, i; + int a[] = {1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 11, 12, 12}; + + mink1 = 2; + maxk1 = 4; + + mink2 = 5; + maxk2 = 8; + + InitList(&L); + + for(i = 1; i <= 20; i++) { + ListInsert(L, i, a[i - 1]); + } + + printf(" L = "); + ListTraverse(L, PrintElem); + + printf(" 2.19 ֤...\n"); + printf(" ɾ (%d, %d) ΧڵԪ֮", mink1, maxk1); + Algo_2_19_1(L, mink1, maxk1); + printf("L = "); + ListTraverse(L, PrintElem); + + printf(" ɾ (%d, %d) ΧڵԪ֮", mink2, maxk2); + Algo_2_19_2(L, mink2, maxk2); + printf("L = "); + ListTraverse(L, PrintElem); + + printf(" 2.20 ֤...\n"); + printf(" Էǵݼȥ֮"); + Algo_2_20(L); + printf("L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ɾԱԪֵ(mink, maxk)֮Ľ +Status Algo_2_19_1(LinkList L, int mink, int maxk) { + LinkList p, q; + int flag; // Ч + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Χ趨 + if(mink >= maxk) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + p = L; // ָͷ + flag = 0; // δ(mink, maxk)ΧڵԪ + + while(p->next != NULL) { + q = p->next; + + // ҪɾĽ + if(q->data > mink && q->data < maxk) { + // (mink, maxk)ΧڵԪ + flag = 1; + p->next = q->next; + free(q); + } else { + // ˵ʣԪؾ>=maxkٱ + if(flag == 1) { + break; + } + p = q; + } + } + + return OK; +} + +// ɾԱԪֵ(mink, maxk)֮Ľ +Status Algo_2_19_2(LinkList L, int mink, int maxk) { + LinkList p, q; + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Χ趨 + if(mink >= maxk) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + p = L; // ָͷ + + // + while(p->next != NULL && p->next->data <= mink) { + p = p->next; + } + + // + if(p->next == NULL) { + return OK; + } + + // ޣɾ(mink, maxk)֮IJ + while(p->next != NULL && p->next->data < maxk) { + q = p->next; + p->next = q->next; + free(q); + } + + return OK; +} + +// ԷǵݼԱȥأظԪأһ +Status Algo_2_20(LinkList L) { + LinkList p, q; + + // ȷ + if(L == NULL) { + return ERROR; + } + + // Ϊգֱӷ + if(L->next == NULL) { + return OK; + } + + // ָ1Ԫ + p = L->next; + + while(p->next != NULL) { + q = p->next; + + // ظԪأҪɾһ + if(p->data == q->data) { + p->next = q->next; + free(q); + + // DzͬԪأpǰһ + } else { + p = q; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj new file mode 100644 index 0000000..9216403 --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A0DE4DB7-5E42-412A-896E-8CD17902142C} + My02190220 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.filters b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.filters new file mode 100644 index 0000000..ece2ecd --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.user b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/02.19-02.20.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.19-02.20/LinkList.c b/VisualC++/ExerciseBook/02.19-02.20/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.19-02.20/LinkList.h b/VisualC++/ExerciseBook/02.19-02.20/LinkList.h new file mode 100644 index 0000000..d3b16d7 --- /dev/null +++ b/VisualC++/ExerciseBook/02.19-02.20/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.21/02.21.c b/VisualC++/ExerciseBook/02.21/02.21.c new file mode 100644 index 0000000..ee027cc --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/02.21.c @@ -0,0 +1,63 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.21 + * + * ˳á + */ +Status Algo_2_21(SqList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(&L, i, i); + } + + printf("˳L = "); + ListTraverse(L, PrintElem); + + Algo_2_21(L); + + printf("ãL = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// ˳ +Status Algo_2_21(SqList L) { + int i, mid; + ElemType tmp; + + // ȷ˳ + if(L.elem == NULL) { + return ERROR; + } + + // ֻҪǰһԪؼ + mid = L.length / 2; + + for(i = 1; i <= mid; i++) { + tmp = L.elem[i - 1]; + L.elem[i - 1] = L.elem[L.length - i]; + L.elem[L.length - i] = tmp; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/VisualC++/ExerciseBook/02.21/02.21.vcxproj b/VisualC++/ExerciseBook/02.21/02.21.vcxproj new file mode 100644 index 0000000..f60ee11 --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/02.21.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E} + My0221 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.21/02.21.vcxproj.filters b/VisualC++/ExerciseBook/02.21/02.21.vcxproj.filters new file mode 100644 index 0000000..8c90808 --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/02.21.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.21/02.21.vcxproj.user b/VisualC++/ExerciseBook/02.21/02.21.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/02.21.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.21/SqList.c b/VisualC++/ExerciseBook/02.21/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.21/SqList.h b/VisualC++/ExerciseBook/02.21/SqList.h new file mode 100644 index 0000000..25b1d92 --- /dev/null +++ b/VisualC++/ExerciseBook/02.21/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.22/02.22.c b/VisualC++/ExerciseBook/02.22/02.22.c new file mode 100644 index 0000000..8a8ca81 --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/02.22.c @@ -0,0 +1,62 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.22 + * + * á + */ +Status Algo_2_22(LinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + +int main(int argc, char* argv[]) { + LinkList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + + printf("˳L = "); + ListTraverse(L, PrintElem); + + Algo_2_22(L); + + printf("ãL = "); + ListTraverse(L, PrintElem); + + return 0; +} + +// +Status Algo_2_22(LinkList L) { + LinkList p, q; + + // ȷ + if(L==NULL) { + return ERROR; + } + + p = L->next; + L->next = NULL; + + // ͷ巨 + while(p!=NULL){ + q = p->next; + p->next = L->next; + L->next = p; + p = q; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/VisualC++/ExerciseBook/02.22/02.22.vcxproj b/VisualC++/ExerciseBook/02.22/02.22.vcxproj new file mode 100644 index 0000000..3c0650a --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/02.22.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {479F8705-7B4A-413F-939D-5A68C82C7E6A} + My0222 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.22/02.22.vcxproj.filters b/VisualC++/ExerciseBook/02.22/02.22.vcxproj.filters new file mode 100644 index 0000000..c4c76d2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/02.22.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.22/02.22.vcxproj.user b/VisualC++/ExerciseBook/02.22/02.22.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/02.22.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.22/LinkList.c b/VisualC++/ExerciseBook/02.22/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.22/LinkList.h b/VisualC++/ExerciseBook/02.22/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/VisualC++/ExerciseBook/02.22/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.23/02.23.c b/VisualC++/ExerciseBook/02.23/02.23.c new file mode 100644 index 0000000..96d6bc4 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/02.23.c @@ -0,0 +1,147 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.23һLa뵽Lb + * + * ϲ + * ϲɺ󣬽LaLbÿգ١ + */ +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc); + +/* + * 2.23LaLbеԪؽ뵽Lc + * + * ϲ + * ϲɺ󣬽LaLbÿգ١ + */ +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // ϲ +// Algo_2_23_1(La, Lb, &Lc); + Algo_2_23_2(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// ϲ +Status Algo_2_23_1(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pb; + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pb = Lb; + + while(La->next != NULL && pb->next != NULL) { + // Laժ½ + p = La->next; + La->next = p->next; + + // LaժµĽ뵽Lb + p->next = pb->next; + pb->next = p; + + // ǰԭLbһλ + pb = pb->next->next; + } + + // Laʣ࣬ҪȫӵLbβ + if(pb->next == NULL && La->next != NULL) { + pb->next = La->next; + La->next = NULL; + } + + InitList(Lc); + + (*Lc)->next = Lb->next; + Lb->next = NULL; + + return OK; +} + +// ϲ +Status Algo_2_23_2(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList p, pc; + int flag; // ָӲLaеԪػDzLbеԪ + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + flag = 0; + pc = *Lc; + + while(La->next!=NULL && Lb->next!=NULL){ + // ҪLaеԪ + if(flag==0) { + // ժLaеԪ + p = La->next; + La->next = p->next; + + flag = 1; + } else { + // ժLaеԪ + p = Lb->next; + Lb->next = p->next; + + flag = 0; + } + + // ժµԪز뵽Lc + pc->next = p; + pc = pc->next; + } + + // Lbʣ + if(La->next==NULL) { + // ժLbеԪ + p = Lb->next; + Lb->next = NULL; + pc->next = p; + + // Laʣ + } else { + // ժLaеԪ + p = La->next; + La->next = NULL; + pc->next = p; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.23/02.23.vcxproj b/VisualC++/ExerciseBook/02.23/02.23.vcxproj new file mode 100644 index 0000000..3c887d5 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/02.23.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {9B913BF8-0766-462F-B982-8D5020815B34} + My0223 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.23/02.23.vcxproj.filters b/VisualC++/ExerciseBook/02.23/02.23.vcxproj.filters new file mode 100644 index 0000000..45a5825 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/02.23.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.23/02.23.vcxproj.user b/VisualC++/ExerciseBook/02.23/02.23.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/02.23.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.23/LinkList.c b/VisualC++/ExerciseBook/02.23/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.23/LinkList.h b/VisualC++/ExerciseBook/02.23/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/VisualC++/ExerciseBook/02.23/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.24/02.24.c b/VisualC++/ExerciseBook/02.24/02.24.c new file mode 100644 index 0000000..dcecc52 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/02.24.c @@ -0,0 +1,94 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.24 + * + * 鲢Ϊһݼ + * 鲢ǣժLaLbеԪأʹͷ巨뵽Lc + * 鲢ɺ󣬽ԭÿգ١ + */ +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 5; i++) { + ListInsert(La, i, 2 * i - 1); + ListInsert(Lb, i, 2 * i); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 鲢 + Algo_2_24(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +// 鲢Ϊһݼ +Status Algo_2_24(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb; + + // ȷLaLb + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + InitList(Lc); + + // LaLb + while(La->next!=NULL && Lb->next!=NULL){ + pa = La->next; + pb = Lb->next; + + // ժLaLbнСԪ + if(pa->data<=pb->data) { + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } else { + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + } + + // Laʣ࣬LaʣԪز뵽Lc + while(La->next!=NULL){ + pa = La->next; + La->next = pa->next; + pa->next = (*Lc)->next; + (*Lc)->next = pa; + } + + // Lbʣ࣬LbʣԪز뵽Lc + while(Lb->next!=NULL){ + pb = Lb->next; + Lb->next = pb->next; + pb->next = (*Lc)->next; + (*Lc)->next = pb; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.24/02.24.vcxproj b/VisualC++/ExerciseBook/02.24/02.24.vcxproj new file mode 100644 index 0000000..0cd7459 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/02.24.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {69D091DF-26ED-4578-91BB-328FE9BAAF2D} + My0224 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.24/02.24.vcxproj.filters b/VisualC++/ExerciseBook/02.24/02.24.vcxproj.filters new file mode 100644 index 0000000..d5dbd17 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/02.24.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.24/02.24.vcxproj.user b/VisualC++/ExerciseBook/02.24/02.24.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/02.24.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.24/LinkList.c b/VisualC++/ExerciseBook/02.24/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.24/LinkList.h b/VisualC++/ExerciseBook/02.24/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/VisualC++/ExerciseBook/02.24/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.25/02.25.c b/VisualC++/ExerciseBook/02.25/02.25.c new file mode 100644 index 0000000..9f0a5df --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/02.25.c @@ -0,0 +1,82 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.25 + * + * 󽻼C=AB + */ +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Algo_2_25(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +Status Algo_2_25(SqList La, SqList Lb, SqList* Lc) { + int i, j, k; + + // ȷLaLb + if(La.elem == NULL || Lb.elem == NULL) { + return ERROR; + } + + InitList(Lc); + + i = j = 0; // LaLb + k = 0; // Lc + + // ֻLaLbĹͬ־ + while(i < La.length && j < Lb.length) { + if(La.elem[i] < Lb.elem[j]) { + i++; + } else if(La.elem[i] > Lb.elem[j]) { + j++; + // LaLbеԪ + } else { + // LcԪؿظ + ListInsert(Lc, k+1, La.elem[i]); + k++; + i++; + j++; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.25/02.25.vcxproj b/VisualC++/ExerciseBook/02.25/02.25.vcxproj new file mode 100644 index 0000000..7f8fac2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/02.25.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6694823F-5439-4003-B718-84A60147E5F3} + My0225 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.25/02.25.vcxproj.filters b/VisualC++/ExerciseBook/02.25/02.25.vcxproj.filters new file mode 100644 index 0000000..53660a3 --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/02.25.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.25/02.25.vcxproj.user b/VisualC++/ExerciseBook/02.25/02.25.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/02.25.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.25/SqList.c b/VisualC++/ExerciseBook/02.25/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.25/SqList.h b/VisualC++/ExerciseBook/02.25/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/VisualC++/ExerciseBook/02.25/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.26/02.26.c b/VisualC++/ExerciseBook/02.26/02.26.c new file mode 100644 index 0000000..f9f4f64 --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/02.26.c @@ -0,0 +1,89 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.26 + * + * 󽻼C=AB + */ +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Algo_2_26(La, Lb, &Lc); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +Status Algo_2_26(LinkList La, LinkList Lb, LinkList* Lc) { + LinkList pa, pb, pc, s; + + // ȷLaLb + if(La == NULL || Lb == NULL) { + return ERROR; + } + + InitList(Lc); + + pa = La->next; + pb = Lb->next; + pc = *Lc; + + // ֻLaLbĹͬ־ + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + pa = pa->next; + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // LcԪؿظ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = pa->data; + s->next = NULL; + + pc->next = s; + + pc = pc->next; + + pa = pa->next; + pb = pb->next; + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.26/02.26.vcxproj b/VisualC++/ExerciseBook/02.26/02.26.vcxproj new file mode 100644 index 0000000..98a2fff --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/02.26.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4F184A85-5203-4DED-BFA9-0F2799F9AF12} + My0226 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.26/02.26.vcxproj.filters b/VisualC++/ExerciseBook/02.26/02.26.vcxproj.filters new file mode 100644 index 0000000..15b9610 --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/02.26.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.26/02.26.vcxproj.user b/VisualC++/ExerciseBook/02.26/02.26.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/02.26.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.26/LinkList.c b/VisualC++/ExerciseBook/02.26/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.26/LinkList.h b/VisualC++/ExerciseBook/02.26/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/VisualC++/ExerciseBook/02.26/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.27/02.27.c b/VisualC++/ExerciseBook/02.27/02.27.c new file mode 100644 index 0000000..f575a69 --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/02.27.c @@ -0,0 +1,96 @@ +#include +#include "SqList.h" //**02 Ա**// + +/* + * 2.27 + * + * 󽻼C=AB + * CеԪظCAԭеĿռ䣬A١ + */ +SqList Algo_2_27(SqList* La, SqList Lb); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Lc = Algo_2_27(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + +// 󽻼C=AB +SqList Algo_2_27(SqList* La, SqList Lb) { + int i, j, k; + SqList Lc; + + // ȷLaLb + if((*La).elem == NULL || Lb.elem == NULL) { + Lc.elem = NULL; + Lc.length = 0; + Lc.listsize = 0; + return Lc; + } + + i = j = 0; // LaLb + k = 0; // Lc + + Lc.elem = (*La).elem; + Lc.listsize = La->listsize; + + // ֻLaLbĹͬ־ + while(i < (*La).length && j < Lb.length) { + if((*La).elem[i] < Lb.elem[j]) { + i++; + } else if((*La).elem[i] > Lb.elem[j]) { + j++; + // LaLbеԪ + } else { + // ȷLcеԪزظ + if(k == 0 || Lc.elem[k - 1] != (*La).elem[i]) { + Lc.elem[k] = (*La).elem[i]; + k++; + } + + i++; + j++; + } + } + + // Aռ佻Cʹ + (*La).elem = NULL; + (*La).length = 0; + (*La).listsize = 0; + + Lc.length = k; + + return Lc; +} + +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.27/02.27.vcxproj b/VisualC++/ExerciseBook/02.27/02.27.vcxproj new file mode 100644 index 0000000..0efa42c --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/02.27.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {94F9896A-E87A-47EB-B598-C1E60F16F9A7} + My0227 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.27/02.27.vcxproj.filters b/VisualC++/ExerciseBook/02.27/02.27.vcxproj.filters new file mode 100644 index 0000000..ffec16e --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/02.27.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.27/02.27.vcxproj.user b/VisualC++/ExerciseBook/02.27/02.27.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/02.27.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.27/SqList.c b/VisualC++/ExerciseBook/02.27/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.27/SqList.h b/VisualC++/ExerciseBook/02.27/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/VisualC++/ExerciseBook/02.27/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.28/02.28.c b/VisualC++/ExerciseBook/02.28/02.28.c new file mode 100644 index 0000000..3300e69 --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/02.28.c @@ -0,0 +1,92 @@ +#include +#include "LinkList.h" //**02 Ա**// + +/* + * 2.28 + * + * 󽻼C=AB + * CеԪظCAԭеĿռ䣬A١ + */ +LinkList Algo_2_28(LinkList* La, LinkList Lb); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int b[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + } + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + + // 󽻼 + Lc = Algo_2_28(&La, Lb); + + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + return 0; +} + + +LinkList Algo_2_28(LinkList* La, LinkList Lb) { + LinkList Lc; + LinkList pa, pb, pc, s; + + // ȷLaLb + if(La == NULL || *La == NULL || Lb == NULL) { + return NULL; + } + + pa = (*La)->next; + pb = Lb->next; + + Lc = *La; + Lc->next = NULL; + pc = Lc; + + // ֻLaLbĹͬ־ + while(pa != NULL && pb != NULL) { + if(pa->data < pb->data) { + s = pa; + pa = pa->next; + free(s); + } else if(pa->data > pb->data) { + pb = pb->next; + } else { + // ȷLcеԪزظ + if(pc == Lc || pc->data != pa->data) { + pc->next = pa; + pc = pc->next; + } + + pa = pa->next; + pb = pb->next; + } + } + + pc->next = NULL; + + + *La = NULL; + + return Lc; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.28/02.28.vcxproj b/VisualC++/ExerciseBook/02.28/02.28.vcxproj new file mode 100644 index 0000000..3c990ad --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/02.28.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {CDC6D120-D68F-47B6-A9E7-A5A461133DFA} + My0228 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.28/02.28.vcxproj.filters b/VisualC++/ExerciseBook/02.28/02.28.vcxproj.filters new file mode 100644 index 0000000..aa2ef20 --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/02.28.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.28/02.28.vcxproj.user b/VisualC++/ExerciseBook/02.28/02.28.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/02.28.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.28/LinkList.c b/VisualC++/ExerciseBook/02.28/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.28/LinkList.h b/VisualC++/ExerciseBook/02.28/LinkList.h new file mode 100644 index 0000000..3b4e4f6 --- /dev/null +++ b/VisualC++/ExerciseBook/02.28/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.29/02.29.c b/VisualC++/ExerciseBook/02.29/02.29.c new file mode 100644 index 0000000..b132464 --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/02.29.c @@ -0,0 +1,104 @@ +#include +#include "Status.h" //**01 **// +#include "SqList.h" //**02 Ա**// + +/* + * 2.29 + * + * A=A-BC + */ +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + SqList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(&La, i, a[i - 1]); + ListInsert(&Lb, i, b[i - 1]); + ListInsert(&Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + + // + Algo_2_29(&La, Lb, Lc); + + printf("La = La-LbLc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-BC +Status Algo_2_29(SqList* La, SqList Lb, SqList Lc) { + int i, j, k, count; + + if(La==NULL || (*La).elem==NULL || Lb.elem==NULL || Lc.elem==NULL) { + return ERROR; + } + + i = j = k = 0; + count = 0; + + // ȡBCĽȻAɾ + while(i < (*La).length && j < Lb.length && k < Lc.length) { + if(Lb.elem[j] < Lc.elem[k]) { + j++; + } else if(Lb.elem[j] > Lc.elem[k]) { + k++; + } else { + // AвҽԪ + while(i < (*La).length && (*La).elem[i] < Lb.elem[j]) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + // Ԫ + while(i < (*La).length && (*La).elem[i] == Lb.elem[j]) { + i++; + } + + // Aûб + if(i < (*La).length) { + j++; + k++; + } + } + } + + // ʣԪطŵʵλ + while(i < (*La).length) { + (*La).elem[count] = (*La).elem[i]; + count++; + i++; + } + + (*La).length = count; + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/VisualC++/ExerciseBook/02.29/02.29.vcxproj b/VisualC++/ExerciseBook/02.29/02.29.vcxproj new file mode 100644 index 0000000..16b9359 --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/02.29.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D051583F-72E8-4F2E-A5FA-AAEED0793C86} + My0229 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.29/02.29.vcxproj.filters b/VisualC++/ExerciseBook/02.29/02.29.vcxproj.filters new file mode 100644 index 0000000..d92f0fb --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/02.29.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.29/02.29.vcxproj.user b/VisualC++/ExerciseBook/02.29/02.29.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/02.29.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.29/SqList.c b/VisualC++/ExerciseBook/02.29/SqList.c new file mode 100644 index 0000000..3ab2fda --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/SqList.c @@ -0,0 +1,99 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#include "SqList.h" + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L) { + // ָڴ棬ʧܣ򷵻NULL + (*L).elem = (ElemType*) malloc(LIST_INIT_SIZE * sizeof(ElemType)); + if((*L).elem == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + (*L).length = 0; // ʼ˳Ϊ0 + (*L).listsize = LIST_INIT_SIZE; // ˳ʼڴ + + return OK; // ʼɹ +} + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e) { + ElemType* newbase; + ElemType* p, * q; + + // ȷ˳ṹ + if(L == NULL || (*L).elem == NULL) { + return ERROR; + } + + // iֵԽ + if(i < 1 || i > (*L).length + 1) { + return ERROR; + } + + // 洢ռ¿ռ + if((*L).length >= (*L).listsize) { + // пռ + newbase = (ElemType*) realloc((*L).elem, ((*L).listsize + LISTINCREMENT) * sizeof(ElemType)); + if(newbase == NULL) { + // 洢ڴʧ + exit(OVERFLOW); + } + + // »ַ + (*L).elem = newbase; + // Ĵ洢ռ + (*L).listsize += LISTINCREMENT; + } + + // qΪλ + q = &(*L).elem[i - 1]; + + // 1.Ԫأڳλ + for(p = &(*L).elem[(*L).length - 1]; p >= q; --p) { + *(p + 1) = *p; + } + + // 2.e + *q = e; + + // 3.1 + (*L).length++; + + return OK; +} + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void(Visit)(ElemType)) { + int i; + + for(i = 0; i < L.length; i++) { + Visit(L.elem[i]); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.29/SqList.h b/VisualC++/ExerciseBook/02.29/SqList.h new file mode 100644 index 0000000..a7b6e55 --- /dev/null +++ b/VisualC++/ExerciseBook/02.29/SqList.h @@ -0,0 +1,61 @@ +/*============================= + * Ա˳洢ṹ˳ + * + * 㷨: 2.32.42.52.6 + =============================*/ + +#ifndef SEQUENCELIST_H +#define SEQUENCELIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* 궨 */ +#define LIST_INIT_SIZE 100 // ˳洢ռijʼ +#define LISTINCREMENT 10 // ˳洢ռķ + +/* ˳ԪͶ */ +typedef int ElemType; + +/* + * ˳ṹ + * + * עelemʹǰҪΪڴ棬Ԫشelem[0]ʼ洢 + */ +typedef struct { + ElemType* elem; // ˳洢ռĻַָ˳ռڴʼλã + int length; // ǰ˳ȣԪأ + int listsize; // ǰĴ洢Դ洢Ԫأ +} SqList; + + +/* + * 㷨2.3 + * + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(SqList* L); + +/* + * 㷨2.4 + * + * + * + * ˳iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(SqList* L, int i, ElemType e); + +/* + * + * + * visit˳L + */ +void ListTraverse(SqList L, void (Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.30/02.30.c b/VisualC++/ExerciseBook/02.30/02.30.c new file mode 100644 index 0000000..b4281bf --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/02.30.c @@ -0,0 +1,97 @@ +#include +#include "Status.h" //**01 **// +#include "LinkList.h" //**02 Ա**// + +/* + * 2.30 + * + * A=A-BC + */ +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + LinkList La, Lb, Lc; + int i; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + int b[10] = {1, 2, 2, 3, 4, 4, 9, 9, 10, 12}; + int c[10] = {1, 1, 2, 2, 3, 3, 4, 5, 12, 13}; + + // ׼ + InitList(&La); + InitList(&Lb); + InitList(&Lc); + for(i = 1; i <= 10; i++) { + ListInsert(La, i, a[i - 1]); + ListInsert(Lb, i, b[i - 1]); + ListInsert(Lc, i, c[i - 1]); + } + + printf("La = "); + ListTraverse(La, PrintElem); + printf("Lb = "); + ListTraverse(Lb, PrintElem); + printf("Lc = "); + ListTraverse(Lc, PrintElem); + + // + Algo_2_30(La, Lb, Lc); + + printf("La = La-LbLc = "); + ListTraverse(La, PrintElem); + + return 0; +} + +// A=A-BC +Status Algo_2_30(LinkList La, LinkList Lb, LinkList Lc) { + LinkList pa, pb, pc, p; + + if(La == NULL || Lb == NULL || Lc == NULL) { + return ERROR; + } + + pa = La->next; + pb = Lb->next; + pc = Lc->next; + p = La; + + // ȡBCĽȻAɾ + while(pa != NULL && pb != NULL && pc != NULL) { + if(pb->data < pc->data) { + pb = pb->next; + } else if(pb->data > pc->data) { + pc = pc->next; + } else { + // AвҽԪ + while(pa != NULL && pa->data < pb->data) { + p = pa; + pa = pa->next; + } + + // Ԫ + while(pa != NULL && pa->data == pb->data) { + p->next = pa->next; + free(pa); + pa = p->next; + } + + // Aûб + if(pa != NULL ) { + pb = pb->next; + pc = pc->next; + } + } + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%2d ", e); +} diff --git a/VisualC++/ExerciseBook/02.30/02.30.vcxproj b/VisualC++/ExerciseBook/02.30/02.30.vcxproj new file mode 100644 index 0000000..111bbea --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/02.30.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {267890F4-9F75-4F76-972B-9D621336FAB8} + My0230 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.30/02.30.vcxproj.filters b/VisualC++/ExerciseBook/02.30/02.30.vcxproj.filters new file mode 100644 index 0000000..20a393a --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/02.30.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.30/02.30.vcxproj.user b/VisualC++/ExerciseBook/02.30/02.30.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/02.30.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.30/LinkList.c b/VisualC++/ExerciseBook/02.30/LinkList.c new file mode 100644 index 0000000..24a25e2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/LinkList.c @@ -0,0 +1,92 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#include "LinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ֻdzʼһͷ㡣 + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L) { + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + (*L)->next = NULL; + + return OK; +} + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e) { + LinkList p, s; + int j; + + // ȷ + if(L == NULL) { + return ERROR; + } + + p = L; + j = 0; + + // Ѱҵi-1㣬ұ֤ý㱾ΪNULL + while(p != NULL && j < i - 1) { + p = p->next; + ++j; + } + + // ͷˣiֵϹ(i<=0)˵ûҵϺĿĽ + if(p == NULL || j > i - 1) { + return ERROR; + } + + // ½ + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + s->next = p->next; + p->next = s; + + return OK; +} + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)) { + LinkList p; + + // ȷҲΪձ + if(L == NULL || L->next == NULL) { + return; + } + + p = L->next; + + while(p != NULL) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.30/LinkList.h b/VisualC++/ExerciseBook/02.30/LinkList.h new file mode 100644 index 0000000..c61d71a --- /dev/null +++ b/VisualC++/ExerciseBook/02.30/LinkList.h @@ -0,0 +1,57 @@ +/*=============================== + * Աʽ洢ṹ + * + * 㷨: 2.82.92.102.11 + ================================*/ + +#ifndef LINKEDLIST_H +#define LINKEDLIST_H + +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +/* + * ṹ + * + * עĵͷ + */ +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(LinkList* L); + +/* + * 㷨2.9 + * + * + * + * iλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(LinkList L, int i, ElemType e); + +/* + * + * + * visitL + */ +void ListTraverse(LinkList L, void(Visit)(ElemType)); + +#endif diff --git a/VisualC++/ExerciseBook/02.31/02.31.c b/VisualC++/ExerciseBook/02.31/02.31.c new file mode 100644 index 0000000..0278340 --- /dev/null +++ b/VisualC++/ExerciseBook/02.31/02.31.c @@ -0,0 +1,136 @@ +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +// ѭṹͷ㣩 +typedef struct LNode { + ElemType data; // ݽ + struct LNode* next; // ָһָ +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.31 + * + * ɾsǰ + */ +Status Algo_2_31(LinkList* L, LinkList s); + +// ָݴޡͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// L +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, s; + + int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // ׼ + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + s = L->next->next->next->next; + + printf("ɾ %d ǰ...\n", s->data); + Algo_2_31(&L, s); + + printf("L = "); + Output(L); + + return 0; +} + +// ɾsǰ +Status Algo_2_31(LinkList* L, LinkList s) { + LinkList p, pre; + + if(L == NULL || *L == NULL) { + return ERROR; + } + + // ǰ + if(s == NULL || s->next == s) { + return ERROR; + } + + p = s; + + // ʹp->nextָsǰ + while(p->next->next != s) { + p = p->next; + } + + // sǰ + pre = p->next; + + // ɾǰ + p->next = pre->next; + free(pre); + + // ǰ + if(pre == *L) { + *L = s; + } + + return OK; +} + +// ָݴͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + *L = NULL; + + for(i = 0; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + + s->data = elems[i]; + + if(i == 0) { + *L = s; + s->next = *L; // ѭ + r = *L; + } else { + s->next = r->next; + r->next = s; + r = r->next; + } + } + + return OK; +} + +// L +void Output(LinkList L) { + LinkList p; + + if(L == NULL) { + return; + } + + printf("%2d ", L->data); + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.31/02.31.vcxproj b/VisualC++/ExerciseBook/02.31/02.31.vcxproj new file mode 100644 index 0000000..8704a6b --- /dev/null +++ b/VisualC++/ExerciseBook/02.31/02.31.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {C02C7FFC-6B3F-42AD-85A9-9E085BF0168C} + My0231 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.31/02.31.vcxproj.filters b/VisualC++/ExerciseBook/02.31/02.31.vcxproj.filters new file mode 100644 index 0000000..d317abf --- /dev/null +++ b/VisualC++/ExerciseBook/02.31/02.31.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.31/02.31.vcxproj.user b/VisualC++/ExerciseBook/02.31/02.31.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.31/02.31.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.32/02.32.c b/VisualC++/ExerciseBook/02.32/02.32.c new file mode 100644 index 0000000..55dc484 --- /dev/null +++ b/VisualC++/ExerciseBook/02.32/02.32.c @@ -0,0 +1,134 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef int ElemType; + +// ˫ѭṹ +typedef struct LNode { + ElemType data; + struct LNode* next; + struct LNode* pre; +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.32 + * + * ѭ޸Ϊ˫ѭ + */ +Status Algo_2_32(LinkList L); + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// +void Output(LinkList L); + +// +void OutputReverse(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L; + ElemType a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + + // ׼ݣ + CreatList(&L, a, 10); + printf("L = "); + Output(L); + + // Ϊ˫ + Algo_2_32(L); + + // + printf("L = "); + OutputReverse(L); + + return 0; +} + + +// ѭ޸Ϊ˫ѭ +Status Algo_2_32(LinkList L) { + LinkList r; + + if(L==NULL || L->next==L) { + return ERROR; + } + + for(r = L; r->next != L; r = r->next) { + r->next->pre = r; + } + + L->pre = r; + + return OK; +} + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // ʼͷ + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->pre = NULL; + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->pre = NULL; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + + printf("\n"); +} + +// +void OutputReverse(LinkList L) { + LinkList p; + + if(L == NULL || L->pre == L) { + return; + } + + for(p = L->pre; p != L; p = p->pre) { + printf("%2d ", p->data); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.32/02.32.vcxproj b/VisualC++/ExerciseBook/02.32/02.32.vcxproj new file mode 100644 index 0000000..85075cf --- /dev/null +++ b/VisualC++/ExerciseBook/02.32/02.32.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {21A0126B-82E0-45B8-94BF-2FEC0216F99F} + My0232 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.32/02.32.vcxproj.filters b/VisualC++/ExerciseBook/02.32/02.32.vcxproj.filters new file mode 100644 index 0000000..6af6607 --- /dev/null +++ b/VisualC++/ExerciseBook/02.32/02.32.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.32/02.32.vcxproj.user b/VisualC++/ExerciseBook/02.32/02.32.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.32/02.32.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.33/02.33.c b/VisualC++/ExerciseBook/02.33/02.33.c new file mode 100644 index 0000000..6e6160d --- /dev/null +++ b/VisualC++/ExerciseBook/02.33/02.33.c @@ -0,0 +1,174 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩisalphaisdigitԭ +#include "Status.h" //**01 **// + +/* ԪͶ */ +typedef char ElemType; + +// ѭṹ +typedef struct LNode { + ElemType data; + struct LNode* next; +} LNode; + +// ָָ +typedef LNode* LinkList; + + +/* + * 2.33 + * + * ַ֡ + */ +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other); + +// ʼһѭ +Status InitList(LinkList* L); + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n); + +// +void Output(LinkList L); + + +int main(int argc, char* argv[]) { + LinkList L, L_char, L_num, L_other; + + ElemType a[20+1] = "2a3@A5e$T*1%s&7pl(o)"; + + // ׼ݣ + CreatList(&L, a, 20); + printf("L = "); + Output(L); + + // + Algo_2_33(L, &L_char, &L_num, &L_other); + + // ֺ + printf("L_char = "); + Output(L_char); + printf("L_num = "); + Output(L_num); + printf("L_other = "); + Output(L_other); + + return 0; +} + + +// ַ֡ +Status Algo_2_33(LinkList L, LinkList* L_char, LinkList* L_num, LinkList* L_other) { + LinkList r, rc, rn, ro, s; + + if(L_char == NULL || L_num == NULL || L_other == NULL) { + return ERROR; + } + + if(L == NULL || L->next == L) { + return ERROR; + } + + InitList(L_char); + InitList(L_num); + InitList(L_other); + + r = L->next; + rc = *L_char; + rn = *L_num; + ro = *L_other; + + while(r != L) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = r->data; + + // ԪΪַ + if(isalpha(r->data)) { + s->next = rc->next; + rc->next = s; + rc = rc->next; + + // ԪΪ + } else if(isdigit(r->data)) { + s->next = rn->next; + rn->next = s; + rn = rn->next; + + // + } else { + s->next = ro->next; + ro->next = s; + ro = ro->next; + } + + r = r->next; + } + + return OK; +} + + +// ʼһѭ +Status InitList(LinkList* L) { + if(L == NULL) { + return ERROR; + } + + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + return OK; +} + +// ָݴСͷĵѭ +Status CreatList(LinkList* L, ElemType elems[], int n) { + LinkList s, r; + int i; + + if(L == NULL) { + return ERROR; + } + + // ʼͷ + (*L) = (LinkList) malloc(sizeof(LNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->next = *L; + + for(i = 0, r = *L; i < n; i++) { + s = (LinkList) malloc(sizeof(LNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + + s->next = r->next; + r->next = s; + r = r->next; + } + + return OK; +} + +// +void Output(LinkList L) { + LinkList p; + + if(L == NULL || L->next == L) { + return; + } + + for(p = L->next; p != L; p = p->next) { + printf("%c ", p->data); + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.33/02.33.vcxproj b/VisualC++/ExerciseBook/02.33/02.33.vcxproj new file mode 100644 index 0000000..e090ced --- /dev/null +++ b/VisualC++/ExerciseBook/02.33/02.33.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {F8AA03E3-9F5C-42BF-B105-3E89041A14F8} + My0233 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.33/02.33.vcxproj.filters b/VisualC++/ExerciseBook/02.33/02.33.vcxproj.filters new file mode 100644 index 0000000..dedd7b5 --- /dev/null +++ b/VisualC++/ExerciseBook/02.33/02.33.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.33/02.33.vcxproj.user b/VisualC++/ExerciseBook/02.33/02.33.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.33/02.33.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.c b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.c new file mode 100644 index 0000000..7ebb208 --- /dev/null +++ b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.c @@ -0,0 +1,433 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include +#include "Status.h" //**01 **// + +// ָԪ +typedef char XElemType; + +// ָṹ +typedef struct XorNode { + XElemType data; + struct XorNode* LRPtr; +} XorNode; +typedef XorNode* XorPointer; + +// ͷָ˫ͷβָ +typedef struct { + XorPointer Left; // ֱָˣͷָ룩Ҷˣβָ룩 + XorPointer Right; +} XorLinkedList; + + +/* + * 2.34һPriorOrNext + * + * Lmarkʾ01 + */ +void Algo_2_34_1(XorLinkedList L, int mark); + +/* + * 2.34PriorOrNext + * + * Lmarkʾ01 + */ +void Algo_2_34_2(XorLinkedList L, int mark); + +/* + * 2.35 + * + * Ԫe뵽i֮ǰ + */ +Status Algo_2_35(XorLinkedList* L, int i, XElemType e); + +/* + * 2.36 + * + * ɾi(>0)㣬eܽԪֵ + */ +Status Algo_2_36(XorLinkedList* L, int i, char* e); + +// ָָpqֵ㣺p^q +XorPointer XorP(XorPointer p, XorPointer q); + +// ָL +Status Create(XorLinkedList* L, XElemType elems[], int n); + +// ȡǰ(cur)ǰ(mark=0)(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark); + + +int main(int argc, char** argv) { + XorLinkedList L; + XElemType e; + XElemType* data = "123456789"; + + Create(&L, data, strlen(data)); + printf(" 2.34 ֤...\n"); + printf(" L = "); + Algo_2_34_1(L, 0); + printf(" L = "); + Algo_2_34_1(L, 1); + + printf(" 2.35 ֤...\n"); + Algo_2_35(&L, 5, '*'); + printf(" '*' ΪLĵ5˳...\n"); + printf(" L = "); + Algo_2_34_2(L, 0); + + printf(" 2.36 ֤...\n"); + Algo_2_36(&L, 5, &e); + printf(" ɾLĵ5 '%c' ...\n", e); + printf(" L = "); + Algo_2_34_2(L, 1); + + return 0; +} + + +// 㣺p^q +XorPointer XorP(XorPointer p, XorPointer q) { + unsigned long x, y, z; + + x = (unsigned long) p; + y = (unsigned long) q; + + // + z = x ^ y; + + return (XorPointer) z; +} + +// ָL +Status Create(XorLinkedList* L, XElemType elems[], int n) { + int i; + XorPointer pre_l, pre_m, pre_r; // ׼ָ룬ָнڵ + + (*L).Left = NULL; + (*L).Right = NULL; + + pre_l = pre_m = NULL; + + for(i = 0; i < n; i++) { + pre_r = (XorPointer) malloc(sizeof(XorNode)); + if(pre_r == NULL) { + exit(OVERFLOW); + } + pre_r->data = elems[i]; + + // ָ루׽ʱ + if(i == 0) { + L->Left = pre_r; + } + + // ָ룬ָһ + L->Right = pre_r; + + // ½ʱһָҪ޸ + if(pre_m != NULL) { + pre_m->LRPtr = XorP(pre_l, pre_r); + } + + pre_r->LRPtr = XorP(pre_m, NULL); + pre_l = pre_m; + pre_m = pre_r; + } + + return OK; +} + +// ȡǰ(cur)ǰ(mark=0)(mark=1) +XorPointer PriorOrNext(XorLinkedList L, XorPointer cur, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return NULL; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL || cur == NULL) { + return NULL; + } + + // ̣ + if(mark == 1) { + p_l = NULL; + p_m = L.Left; + + // ָ벻ƽ + while(p_m != cur) { + p_r = XorP(p_l, p_m->LRPtr); //Ҳһַ + p_l = p_m; + p_m = p_r; + } + + // p_mָcurǰ + p_r = XorP(p_l, p_m->LRPtr); + + return p_r; + + // ǰ + } else { + p_m = L.Right; + p_r = NULL; + + // ָ벻ƽ + while(p_m != cur) { + p_l = XorP(p_m->LRPtr, p_r); //һַ + p_r = p_m; + p_m = p_l; + } + + // p_mָcurĺ + p_l = XorP(p_m->LRPtr, p_r); + + return p_l; + } +} + +// Lmarkʾ01 +void Algo_2_34_1(XorLinkedList L, int mark) { + XorPointer cur; + + if(mark != 1 && mark != 0) { + return; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // + if(mark == 0) { + cur = L.Left; + do { + printf("%c ", cur->data); + // ȡcurĺ + cur = PriorOrNext(L, cur, 1); + } while(cur != NULL); + + // + } else { + cur = L.Right; + do { + printf("%c ", cur->data); + // ȡcurǰ + cur = PriorOrNext(L, cur, 0); + } while(cur != NULL); + } + + printf("\n"); +} + +// Lmarkʾ01 +void Algo_2_34_2(XorLinkedList L, int mark) { + XorPointer p_l, p_m, p_r; + + if(mark != 1 && mark != 0) { + return; + } + + // ȷ + if(L.Left == NULL || L.Right == NULL) { + return; + } + + // + if(mark == 0) { + p_l = NULL; + p_m = L.Left; + + // p_mΪʱ˵ + while(p_m != NULL) { + printf("%c ", p_m->data); + p_r = XorP(p_l, p_m->LRPtr); // Ҳһַ + p_l = p_m; // ָ벻ƽ + p_m = p_r; + } + + // + } else { + p_m = L.Right; + p_r = NULL; + + // p_mΪʱ˵ + while(p_m != NULL) { + printf("%c ", p_m->data); + p_l = XorP(p_m->LRPtr, p_r); // һַ + p_r = p_m; // ָ벻ǰƽ + p_m = p_l; + } + } + + printf("\n"); +} + +// Ԫe뵽i֮ǰ +Status Algo_2_35(XorLinkedList* L, int i, XElemType e) { + XorPointer pl; // ָi-2 + XorPointer pre; // ָi-1 + XorPointer p; // ָi + XorPointer pr; // ָi+1 + XorPointer s; + int j; + + if(L == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // ½ + s = (XorPointer) malloc(sizeof(XorNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // ȴΪյ + if((*L).Left == NULL && (*L).Right == NULL) { + if(i != 1) { + return ERROR; // ΪʱiֻΪ1 + } + + (*L).Left = (*L).Right = s; + s->LRPtr = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // ҵi-1㣬preָ + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // iֵϹ棨 + if(j < i - 1) { + return ERROR; + } + + // Ҫ뵽β + if(p == NULL) { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, s); + + s->LRPtr = XorP(pre, p); + + (*L).Right = s; + + return OK; + } + + // Ҫ뵽ͷ + if(pre == NULL) { + pr = XorP(pre, p->LRPtr); + p->LRPtr = XorP(s, pr); + + s->LRPtr = XorP(pre, p); + + (*L).Left = s; + + return OK; + } + + // + pl = XorP(pre->LRPtr, p); + pr = XorP(pre, p->LRPtr); + pre->LRPtr = XorP(pl, s); + p->LRPtr = XorP(s, pr); + s->LRPtr = XorP(pre, p); + + return OK; +} + +// ɾi(>0)㣬eܽԪֵ +Status Algo_2_36(XorLinkedList* L, int i, XElemType* e) { + XorPointer pl; // ָi-2 + XorPointer pre; // ָi-1 + XorPointer p; // ָi + XorPointer pr; // ָi+1 + XorPointer prr; // ָi+2 + int j; + + if(L == NULL || (*L).Left == NULL || (*L).Right == NULL) { + return ERROR; + } + + // i>=1 + if(i < 1) { + return ERROR; + } + + // ȴֻһ + if((*L).Left == (*L).Right) { + if(i != 1) { + return ERROR; // ֻһʱiֻΪ1 + } + + *e = (*L).Left->data; + (*L).Left = (*L).Right = NULL; + + return OK; + } + + j = 0; + pre = NULL; + p = (*L).Left; + + // ҵi-1㣬preָ + while(j < i - 1 && p != NULL) { + j++; + pr = XorP(pre, p->LRPtr); + pre = p; + p = pr; + } + + // iֵϹ棨 + if(j < i - 1 || p == NULL) { + return ERROR; + } + + // 洢ɾԪصֵ + *e = p->data; + + /* ˣԪشڣpָɾԪ */ + + pr = XorP(pre, p->LRPtr); + + // ɾͷ + if(pre == NULL) { + // ڴʱ㣬pr!=NULL + prr = XorP(p, pr->LRPtr); + + pr->LRPtr = XorP(pre, prr); + + (*L).Left = pr; + } else { + pl = XorP(pre->LRPtr, p); + pre->LRPtr = XorP(pl, pr); + + // ɾһ + if(pr==NULL) { + (*L).Right = pre; + } else { + prr = XorP(p, pr->LRPtr); + pr->LRPtr = XorP(pre, prr); + } + } + + free(p); + + return OK; +} diff --git a/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj new file mode 100644 index 0000000..11bf345 --- /dev/null +++ b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {34443CD7-11AB-4846-A502-111ECDF91619} + My02340236 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.filters b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.filters new file mode 100644 index 0000000..7234a94 --- /dev/null +++ b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.user b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.34-02.36/02.34-02.36.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.37/02.37.c b/VisualC++/ExerciseBook/02.37/02.37.c new file mode 100644 index 0000000..2890d7f --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/02.37.c @@ -0,0 +1,73 @@ +#include +#include "Status.h" //**01 **// +#include "DuLinkList.h" //**02 Ա**// + +/* + * 2.37 + * + * żԪλλԪؿǰżλԪؿ + */ +Status Algo_2_37(DuLinkList L); + +// ԺӡԪ +void PrintElem(ElemType e); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + + // ׼ + InitList(&L); + for(i = 1; i <= 10; i++) { + ListInsert(L, i, i); + } + printf("ǰ L = "); + ListTraverse(L, PrintElem); + + Algo_2_37(L); + + printf("ź L = "); + ListTraverse(L, PrintElem); + + return 0; +} + + +// żԪλλԪؿǰżλԪؿ +Status Algo_2_37(DuLinkList L) { + DuLinkList head, tail, p; + + if(L == NULL || L->prior == NULL || L->next == NULL) { + return ERROR; + } + + head = L->next; // ָףƽ + tail = L->prior; // ָβ̶ + + // headtailмٸһԪ + while(head != tail && head->next != tail) { + // ָԭżλԪ + p = head->next; + + // ժ´żλԪ + p->next->prior = head; + head->next = p->next; + + // Ԫӵԭtail + p->next = tail->next; + p->prior = tail; + tail->next->prior = p; + tail->next = p; + + // ǰһλԪ + head = head->next; + } + + return OK; +} + +// ԺӡԪ +void PrintElem(ElemType e) { + printf("%d ", e); +} diff --git a/VisualC++/ExerciseBook/02.37/02.37.vcxproj b/VisualC++/ExerciseBook/02.37/02.37.vcxproj new file mode 100644 index 0000000..ddb02ce --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/02.37.vcxproj @@ -0,0 +1,76 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6F8F4D0B-E744-43AB-9B26-B5CD540CC32C} + My0237 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.37/02.37.vcxproj.filters b/VisualC++/ExerciseBook/02.37/02.37.vcxproj.filters new file mode 100644 index 0000000..f6cf1db --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/02.37.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.37/02.37.vcxproj.user b/VisualC++/ExerciseBook/02.37/02.37.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/02.37.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.37/DuLinkList.c b/VisualC++/ExerciseBook/02.37/DuLinkList.c new file mode 100644 index 0000000..df3f94d --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/DuLinkList.c @@ -0,0 +1,130 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#include "DuLinkList.h" //**02 Ա**// + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L) { + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + + // ǰͺָ̾ + (*L)->next = (*L)->prior = *L; + + return OK; +} + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e) { + DuLinkList p, s; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return ERROR; + } + + // ҵiλãã + if((p = GetElemP(L, i)) == NULL) { + return ERROR; + } + + // ½ + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = e; + + // s뵽pǰ棬Ϊi + s->prior = p->prior; + p->prior->next = s; + s->next = p; + p->prior = s; + + return OK; +} + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)) { + DuLinkList p; + + // ȷ˫ѭ + if(L == NULL || L->next == L || L->prior == L) { + return; + } + + p = L->next; + + while(p != L) { + Visit(p->data); + p = p->next; + } + + printf("\n"); +} + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i) { + DuLinkList p; + int count; + + // ȷ˫ѭڣΪձ + if(L == NULL) { + return NULL; + } + + // λòϹ + if(i < 1) { + return NULL; + } + + p = L; + count = 0; + + // ԲҵiԪ + while(p->next != L && count < i) { + p = p->next; + ++count; + } + + // ǡҵiԪ + if(count == i) { + return p; + } + + // ˣ˵p->next==LʱҪжiǷ + if(count + 1 < i) { + return NULL; + } + + // ˣ˵Ҫlen+1λϲԪ + return L; +} diff --git a/VisualC++/ExerciseBook/02.37/DuLinkList.h b/VisualC++/ExerciseBook/02.37/DuLinkList.h new file mode 100644 index 0000000..4a0edc2 --- /dev/null +++ b/VisualC++/ExerciseBook/02.37/DuLinkList.h @@ -0,0 +1,67 @@ +/*===================== + * ˫ѭ + * + * 㷨: 2.182.19 + ======================*/ + +#ifndef DULINKLIST_H +#define DULINKLIST_H + +#include +#include //ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // +} DuLNode; + +// ָ˫ѭָ +typedef DuLNode* DuLinkList; + + +/* + * ʼ + * + * ʼɹ򷵻OK򷵻ERROR + */ +Status InitList(DuLinkList* L); + +/* + * 㷨2.18 + * + * + * + * ˫ѭiλϲeɹ򷵻OK򷵻ERROR + * + *ע + * ̲iĺԪλã1ʼ + */ +Status ListInsert(DuLinkList L, int i, ElemType e); + +/* + * + * + * visit˫ѭL + */ +void ListTraverse(DuLinkList L, void(Visit)(ElemType)); + +/* + * ȡѭLϵiԪص + * + * ע + * 1.staticĺǵǰֻDuLinkListʹãᱻļ + * 2.ΪlenҪȡlen+1ԪصʱѭԷصͷ + */ +static DuLinkList GetElemP(DuLinkList L, int i); + +#endif diff --git a/VisualC++/ExerciseBook/02.38/02.38.c b/VisualC++/ExerciseBook/02.38/02.38.c new file mode 100644 index 0000000..72a7780 --- /dev/null +++ b/VisualC++/ExerciseBook/02.38/02.38.c @@ -0,0 +1,153 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +/* ˫ѭԪͶ */ +typedef int ElemType; + +/* + * ˫ѭṹһƴ + * + * ע˫ѭͷ + */ +typedef struct DuLNode { + ElemType data; + struct DuLNode* prior; // ǰ + struct DuLNode* next; // + int freq; // Ƶ +} DuLNode; + +// ָ˫ѭṹָ +typedef DuLNode* DuLinkList; + +/* + * 2.38 + * + * Ԫe״Lгֵλ򣬲Ƶ + */ +DuLinkList Algo_2_38(DuLinkList* L, ElemType e); + +// ˫ѭ +Status CreatList(DuLinkList* L, ElemType elems[], int n); + +// +void Output(DuLinkList L); + + +int main(int argc, char* argv[]) { + DuLinkList L; + int i; + ElemType data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + ElemType visit[10] = {1, 2, 2, 2, 3, 4, 4, 5, 5, 9}; + + CreatList(&L, data, 10); + printf("ǰ L = \n"); + Output(L); + + // ηtmpԤ + for(i = 0; i < 10; i++) { + Algo_2_38(&L, visit[i]); + } + + printf("ʺL = \n"); + Output(L); + + return 0; +} + +// Ԫe״Lгֵλ򣬲Ƶ +DuLinkList Algo_2_38(DuLinkList* L, ElemType e) { + DuLinkList pre, r; + + // ȷ + if(L == NULL || *L == NULL) { + return NULL; + } + + for(pre = *L; pre->next != *L && pre->next->data != e; pre = pre->next) { + // Ԫeǰ + } + + // ûҵԪ + if(pre->next == *L) { + return NULL; + } + + // ժԪe + r = pre->next; + pre->next = r->next; + r->next->prior = pre; + + // Ƶһ + r->freq++; + + for(pre = *L; pre->next != *L && pre->next->freq > r->freq; pre = pre->next) { + // ݷƵȣѰԪeӦòλõǰ + } + + // Ԫe뵽ʵλ + r->next = pre->next; + r->prior = pre; + pre->next->prior = r; + pre->next = r; + + // ָԪe + return r; +} + +// ˫ѭ +Status CreatList(DuLinkList* L, ElemType elems[], int n) { + DuLinkList s, p; + int i; + + *L = (DuLinkList) malloc(sizeof(DuLNode)); + if(*L == NULL) { + exit(OVERFLOW); + } + (*L)->data = -1; + (*L)->prior = *L; + (*L)->next = *L; + (*L)->freq = 0; + + p = *L; + + for(i = 0; i < n; i++) { + s = (DuLinkList) malloc(sizeof(DuLNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = elems[i]; + s->freq = 0; + + // β + s->next = *L; + (*L)->prior = s; + s->prior = p; + p->next = s; + + p = p->next; + } + + return OK; +} + +// +void Output(DuLinkList L) { + DuLinkList p; + + if(L == NULL || L->next == L || L->prior == NULL) { + return; + } + + printf("ݣ"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->data); + } + printf("\n"); + + printf("Ƶȣ"); + for(p = L->next; p != L; p = p->next) { + printf("%2d ", p->freq); + } + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.38/02.38.vcxproj b/VisualC++/ExerciseBook/02.38/02.38.vcxproj new file mode 100644 index 0000000..cca674c --- /dev/null +++ b/VisualC++/ExerciseBook/02.38/02.38.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {CF7E8C5D-B306-4A9A-9029-64B7A3A19FED} + My0238 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.38/02.38.vcxproj.filters b/VisualC++/ExerciseBook/02.38/02.38.vcxproj.filters new file mode 100644 index 0000000..c20ab80 --- /dev/null +++ b/VisualC++/ExerciseBook/02.38/02.38.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.38/02.38.vcxproj.user b/VisualC++/ExerciseBook/02.38/02.38.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.38/02.38.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.c b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.c new file mode 100644 index 0000000..eefde6c --- /dev/null +++ b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.c @@ -0,0 +1,184 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include // ṩpowԭ +#include "Status.h" //**01 **// + +// ϡʽ˳ṹ +typedef struct { + int coef; //ϵ + int exp; //ָ +} PolyTerm; + +// ʽ˳洢ṹ +typedef struct { + PolyTerm* data; + int last; // ʽ +} SqPoly; + +/* + * 2.39 + * + * ʽֵ + */ +int Algo_2_39(SqPoly P, int x); + +/* + * 2.40 + * + * Pc=Pa-Pb + */ +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc); + +// ϡʽ +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n); + +// ϡʽ +void OutputPoly(SqPoly P); + + +int main(int argc, char* argv[]) { + SqPoly Pa, Pb, Pc; + + PolyTerm a[5] = {{-2, 1}, {4, 3}, {11, 5}, {-7, 7}, {8, 9}}; + PolyTerm b[5] = {{3, 2}, {-5, 3}, {12, 4}, {-7, 7}, {6, 11}}; + + // ׼ + CreatPoly(&Pa, a, 5); + CreatPoly(&Pb, b, 5); + printf("Pan(x) = "); + OutputPoly(Pa); + printf("Pbn(x) = "); + OutputPoly(Pb); + + printf("\n"); + + printf(" 2.39 ֤...\n"); + printf(" Pa5(2) = %d", Algo_2_39(Pa, 2)); + printf("\n"); + printf(" Pb5(2) = %d", Algo_2_39(Pb, 2)); + printf("\n\n"); + + printf(" 2.40 ֤...\n"); + Algo_2_40(Pa, Pb, &Pc); + printf(" Pcn(x) = "); + OutputPoly(Pc); + + printf("ʽPcֵ Pc5(2) = %d\n", Algo_2_39(Pc, 2)); + + return 0; +} + + +// ʽֵ +int Algo_2_39(SqPoly P, int x) { + int i, sum; + + for(i = 0, sum = 0; i < P.last; i++) { + sum += P.data[i].coef * (int) (pow(x, P.data[i].exp)); + } + + return sum; +} + +// Pc=Pa-Pb +Status Algo_2_40(SqPoly Pa, SqPoly Pb, SqPoly* Pc) { + int i, j, k, sum; + + (*Pc).data = (PolyTerm*) malloc((Pa.last + Pb.last) * sizeof(PolyTerm)); + if((*Pc).data == NULL) { + exit(OVERFLOW); + } + + i = j = k = 0; + + // PaPbĹ + while(i < Pa.last && j < Pb.last) { + // PaָСPa + if(Pa.data[i].exp < Pb.data[j].exp) { + (*Pc).data[k++] = Pa.data[i]; + i++; + // PaָϴPbֻ򵥸ıϵž + } else if(Pa.data[i].exp > Pb.data[j].exp) { + (*Pc).data[k].coef = -Pb.data[j].coef; //Ÿı + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + // ָʱҪ + } else { + sum = Pa.data[i].coef - Pb.data[j].coef; + + // ԴЧ + if(sum != 0) { + (*Pc).data[k].coef = sum; + (*Pc).data[k].exp = Pa.data[i].exp; + k++; + } + + i++; + j++; + } + } + + // Paδɨ꣬PbɨˣPaʣಿִ浽Pc + while(i < Pa.last) { + (*Pc).data[k++] = Pa.data[i]; + i++; + } + + // Pbδɨ꣬Ҫϵת浽Pc + while(j < Pb.last) { + (*Pc).data[k].coef = -Pb.data[j].coef; + (*Pc).data[k].exp = Pb.data[j].exp; + k++; + j++; + } + + // ¼ + (*Pc).last = k; + + return OK; +} + +Status CreatPoly(SqPoly* P, PolyTerm Data[], int n) { + int i; + + (*P).data = (PolyTerm*) malloc(n * sizeof(PolyTerm)); + if((*P).data == NULL) { + exit(OVERFLOW); + } + (*P).last = n; + + for(i = 0; i < n; i++) { + (*P).data[i] = Data[i]; + } + + return OK; +} + +void OutputPoly(SqPoly P) { + int i; + + for(i = 0; i < P.last; i++) { + if(i == 0) { + printf("%d", P.data[i].coef); + } else { + if(P.data[i].coef < 0) { + printf(" - "); + printf("%d", -P.data[i].coef); + } else { + printf(" + "); + printf("%d", P.data[i].coef); + } + } + + if(P.data[i].exp) { + printf("x"); + + if(P.data[i].exp != 1) { + printf("^%d", P.data[i].exp); + } + } + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj new file mode 100644 index 0000000..ab2cd54 --- /dev/null +++ b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3} + My02390240 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.filters b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.filters new file mode 100644 index 0000000..a8a7b3a --- /dev/null +++ b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.user b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.39-02.40/02.39-02.40.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.c b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.c new file mode 100644 index 0000000..066e422 --- /dev/null +++ b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.c @@ -0,0 +1,215 @@ +#include +#include // ṩmallocreallocfreeexitԭ +#include "Status.h" //**01 **// + +// ϡʽ +typedef struct { + int coef; // ϵ + int exp; // ָ +} PolyTerm; + +// ϡʽʽṹѭṹ +typedef struct PolyNode { + PolyTerm data; + struct PolyNode* next; +} PolyNode; + +typedef PolyNode* PolyLink; +typedef PolyLink LinkedPoly; + + +/* + * 2.41 + * + * ʽĵ + */ +Status Algo_2_41(LinkedPoly P); + +/* + * 2.42 + * + * ָżԲֶʽ + */ +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even); + +// ϡʽ +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n); + +// ϡʽ +void OutputPoly(LinkedPoly P); + + +int main(int argc, char* argv[]) { + LinkedPoly P1, P2; + PolyTerm a[7] = {{-2, 1}, {4, 2}, {2, 3}, {11, 5}, {-7, 6}, {8, 9}, {-3, 10}}; + + // ׼ + CreatPoly(&P1, a, 7); + CreatPoly(&P2, a, 7); + printf("Pn(x) = "); + OutputPoly(P1); + printf("\n"); + + printf(" 2.41 ֤...\n"); + { + + Algo_2_41(P1); + printf(" ʽĵ֮...\n"); + printf(" Pn(x) = "); + OutputPoly(P1); + printf("\n"); + } + + printf(" 2.42 ֤...\n"); + { + LinkedPoly P_odd, P_even; + Algo_2_42(&P2, &P_odd, &P_even); + printf(" ָżԲֶʽ֮...\n"); + printf(" P_odd = "); + OutputPoly(P_odd); + printf(" ż P_even = "); + OutputPoly(P_even); + } + + return 0; +} + + +// ʽĵ +Status Algo_2_41(LinkedPoly P) { + LinkedPoly r, pre; + + if(P == NULL || P->next == P) { + return ERROR; + } + + pre = P; + r = P->next; + + while(r != P) { + // ڲΪ0ָ + if(r->data.exp != 0) { + r->data.coef *= r->data.exp; // ϵָ + r->data.exp--; // ָһ + pre = r; + + // ָΪ0ʱ󵼺Ϊ0Ҫɾǰ + } else { + pre->next = r->next; + free(r); + } + + r = pre->next; + } + + return OK; +} + +// ָżԲֶʽ +Status Algo_2_42(LinkedPoly* P, LinkedPoly* P_Odd, LinkedPoly* P_Even) { + LinkedPoly r, s, p, q; + + // ͷ + *P_Odd = (LinkedPoly) malloc(sizeof(PolyNode)); + *P_Even = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P_Odd == NULL || *P_Even == NULL) { + exit(OVERFLOW); + } + (*P_Odd)->next = *P_Odd; + (*P_Even)->next = *P_Even; + + if(P == NULL || *P == NULL) { + return ERROR; + } + + p = *P_Odd; + q = *P_Even; + r = (*P)->next; + + // ʽ + while(r != (*P)) { + s = r; + r = r->next; + + // ָΪ + if(s->data.exp % 2 != 0) { + s->next = p->next; + p->next = s; + p = p->next; + + // ָΪż + } else { + s->next = q->next; + q->next = s; + q = q->next; + } + } + + // ԭĶʽ + free(*P); + *P = NULL; + + return OK; +} + +// ϡʽ +Status CreatPoly(LinkedPoly* P, PolyTerm Data[], int n) { + int i; + LinkedPoly s, r; + + // ͷ + *P = (LinkedPoly) malloc(sizeof(PolyNode)); + if(*P == NULL) { + exit(OVERFLOW); + } + (*P)->next = *P; + + for(i = 0, r = *P; i < n; i++) { + s = (LinkedPoly) malloc(sizeof(PolyNode)); + if(s == NULL) { + exit(OVERFLOW); + } + s->data = Data[i]; + + // ӵʽ + s->next = r->next; + r->next = s; + + r = r->next; + } + + return OK; +} + +// ϡʽ +void OutputPoly(LinkedPoly P) { + LinkedPoly r; + + if(P == NULL || P->next == P) { + return; + } + + for(r = P->next; r != P; r = r->next) { + if(r == P->next) { + printf("%d", r->data.coef); + } else { + if(r->data.coef < 0) { + printf(" - "); + printf("%d", -r->data.coef); + } else { + printf(" + "); + printf("%d", r->data.coef); + } + } + + if(r->data.exp) { + printf("x"); + + if(r->data.exp != 1) { + printf("^%d", r->data.exp); + } + } + } + + printf("\n"); +} diff --git a/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj new file mode 100644 index 0000000..f7f333b --- /dev/null +++ b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj @@ -0,0 +1,72 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {40DA8411-A6E0-488C-83B2-00ED82B716AC} + My02410242 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + $(SolutionDir)\..\Status;$(IncludePath) + + + + Level3 + Disabled + + + true + $(SolutionDir)\..\Status\Status.lib;%(AdditionalDependencies) + Console + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + + + + + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.filters b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.filters new file mode 100644 index 0000000..de4b2db --- /dev/null +++ b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.user b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/ExerciseBook/02.41-02.42/02.41-02.42.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/ExerciseBook/ExerciseBook.sdf b/VisualC++/ExerciseBook/ExerciseBook.sdf new file mode 100644 index 0000000000000000000000000000000000000000..baa37161f9caad5739560bf58902cdf7d6ef7922 GIT binary patch literal 3887104 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�)LeI@kcp*u@N|zmLGqQ(-#|o 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�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 iPJ=c4#@oey1=($dR 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

    j3PxE0s5qR}y+$}O097wa1VBSaqqaqv00>ss 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�_VJ@v`L6R9T@x;G&CcsZBN#dDR~T& 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®Q@zeBMQnwUu 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

    RV-PJP`6b`NTQ0Z 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 h(lo3CILJuD^ESh#RN`s(=~-`$H`@J%AVR0d;^M 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

    JAn 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Ζ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∠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

      ;0ffy#-k_JIIXvd+a=Kk}kn-nf`GqQNy65a3 +O%U-OqDw5tCyUds7 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

      xM$N!T) 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 hW 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 literal 0 HcmV?d00001 diff --git a/VisualC++/ExerciseBook/ExerciseBook.sln b/VisualC++/ExerciseBook/ExerciseBook.sln new file mode 100644 index 0000000..b340daa --- /dev/null +++ b/VisualC++/ExerciseBook/ExerciseBook.sln @@ -0,0 +1,194 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.16", "01.16\01.16.vcxproj", "{5D2C546F-8544-475E-8060-44A929F48A65}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.17", "01.17\01.17.vcxproj", "{D604D310-9601-49FB-ABEE-48D81E6A2724}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.19", "01.19\01.19.vcxproj", "{F30CB20D-C44F-45FF-AA39-D459E6EB16B9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.20", "01.20\01.20.vcxproj", "{A6883C77-6D02-44B1-B492-965B019E15C2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.10", "02.10\02.10.vcxproj", "{00719F0C-F124-42BE-9297-711FF153A064}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.11", "02.11\02.11.vcxproj", "{52058BF7-48EF-4058-A47D-C358600A3D43}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.12", "02.12\02.12.vcxproj", "{BB137EB3-5250-427B-95D7-0D26A73234C7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.13", "02.13\02.13.vcxproj", "{F9D880FE-6305-4B6A-AF56-0BE0C976D006}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.14", "02.14\02.14.vcxproj", "{AA43C2F9-4ADF-41F2-89ED-47843643C4A3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.15", "02.15\02.15.vcxproj", "{D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.16-02.18", "02.16-02.18\02.16-02.18.vcxproj", "{F3E461F8-2545-4922-AF95-C0FAC35EDF8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.19-02.20", "02.19-02.20\02.19-02.20.vcxproj", "{A0DE4DB7-5E42-412A-896E-8CD17902142C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.21", "02.21\02.21.vcxproj", "{2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.22", "02.22\02.22.vcxproj", "{479F8705-7B4A-413F-939D-5A68C82C7E6A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.23", "02.23\02.23.vcxproj", "{9B913BF8-0766-462F-B982-8D5020815B34}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.24", "02.24\02.24.vcxproj", "{69D091DF-26ED-4578-91BB-328FE9BAAF2D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.25", "02.25\02.25.vcxproj", "{6694823F-5439-4003-B718-84A60147E5F3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.26", "02.26\02.26.vcxproj", "{4F184A85-5203-4DED-BFA9-0F2799F9AF12}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.27", "02.27\02.27.vcxproj", "{94F9896A-E87A-47EB-B598-C1E60F16F9A7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.28", "02.28\02.28.vcxproj", "{CDC6D120-D68F-47B6-A9E7-A5A461133DFA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.29", "02.29\02.29.vcxproj", "{D051583F-72E8-4F2E-A5FA-AAEED0793C86}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.30", "02.30\02.30.vcxproj", "{267890F4-9F75-4F76-972B-9D621336FAB8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.31", "02.31\02.31.vcxproj", "{C02C7FFC-6B3F-42AD-85A9-9E085BF0168C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.32", "02.32\02.32.vcxproj", "{21A0126B-82E0-45B8-94BF-2FEC0216F99F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.33", "02.33\02.33.vcxproj", "{F8AA03E3-9F5C-42BF-B105-3E89041A14F8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.34-02.36", "02.34-02.36\02.34-02.36.vcxproj", "{34443CD7-11AB-4846-A502-111ECDF91619}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.37", "02.37\02.37.vcxproj", "{6F8F4D0B-E744-43AB-9B26-B5CD540CC32C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.38", "02.38\02.38.vcxproj", "{CF7E8C5D-B306-4A9A-9029-64B7A3A19FED}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.39-02.40", "02.39-02.40\02.39-02.40.vcxproj", "{C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "02.41-02.42", "02.41-02.42\02.41-02.42.vcxproj", "{40DA8411-A6E0-488C-83B2-00ED82B716AC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5D2C546F-8544-475E-8060-44A929F48A65}.Debug|Win32.ActiveCfg = Debug|Win32 + {5D2C546F-8544-475E-8060-44A929F48A65}.Debug|Win32.Build.0 = Debug|Win32 + {5D2C546F-8544-475E-8060-44A929F48A65}.Release|Win32.ActiveCfg = Release|Win32 + {5D2C546F-8544-475E-8060-44A929F48A65}.Release|Win32.Build.0 = Release|Win32 + {D604D310-9601-49FB-ABEE-48D81E6A2724}.Debug|Win32.ActiveCfg = Debug|Win32 + {D604D310-9601-49FB-ABEE-48D81E6A2724}.Debug|Win32.Build.0 = Debug|Win32 + {D604D310-9601-49FB-ABEE-48D81E6A2724}.Release|Win32.ActiveCfg = Release|Win32 + {D604D310-9601-49FB-ABEE-48D81E6A2724}.Release|Win32.Build.0 = Release|Win32 + {F30CB20D-C44F-45FF-AA39-D459E6EB16B9}.Debug|Win32.ActiveCfg = Debug|Win32 + {F30CB20D-C44F-45FF-AA39-D459E6EB16B9}.Debug|Win32.Build.0 = Debug|Win32 + {F30CB20D-C44F-45FF-AA39-D459E6EB16B9}.Release|Win32.ActiveCfg = Release|Win32 + {F30CB20D-C44F-45FF-AA39-D459E6EB16B9}.Release|Win32.Build.0 = Release|Win32 + {A6883C77-6D02-44B1-B492-965B019E15C2}.Debug|Win32.ActiveCfg = Debug|Win32 + {A6883C77-6D02-44B1-B492-965B019E15C2}.Debug|Win32.Build.0 = Debug|Win32 + {A6883C77-6D02-44B1-B492-965B019E15C2}.Release|Win32.ActiveCfg = Release|Win32 + {A6883C77-6D02-44B1-B492-965B019E15C2}.Release|Win32.Build.0 = Release|Win32 + {00719F0C-F124-42BE-9297-711FF153A064}.Debug|Win32.ActiveCfg = Debug|Win32 + {00719F0C-F124-42BE-9297-711FF153A064}.Debug|Win32.Build.0 = Debug|Win32 + {00719F0C-F124-42BE-9297-711FF153A064}.Release|Win32.ActiveCfg = Release|Win32 + {00719F0C-F124-42BE-9297-711FF153A064}.Release|Win32.Build.0 = Release|Win32 + {52058BF7-48EF-4058-A47D-C358600A3D43}.Debug|Win32.ActiveCfg = Debug|Win32 + {52058BF7-48EF-4058-A47D-C358600A3D43}.Debug|Win32.Build.0 = Debug|Win32 + {52058BF7-48EF-4058-A47D-C358600A3D43}.Release|Win32.ActiveCfg = Release|Win32 + {52058BF7-48EF-4058-A47D-C358600A3D43}.Release|Win32.Build.0 = Release|Win32 + {BB137EB3-5250-427B-95D7-0D26A73234C7}.Debug|Win32.ActiveCfg = Debug|Win32 + {BB137EB3-5250-427B-95D7-0D26A73234C7}.Debug|Win32.Build.0 = Debug|Win32 + {BB137EB3-5250-427B-95D7-0D26A73234C7}.Release|Win32.ActiveCfg = Release|Win32 + {BB137EB3-5250-427B-95D7-0D26A73234C7}.Release|Win32.Build.0 = Release|Win32 + {F9D880FE-6305-4B6A-AF56-0BE0C976D006}.Debug|Win32.ActiveCfg = Debug|Win32 + {F9D880FE-6305-4B6A-AF56-0BE0C976D006}.Debug|Win32.Build.0 = Debug|Win32 + {F9D880FE-6305-4B6A-AF56-0BE0C976D006}.Release|Win32.ActiveCfg = Release|Win32 + {F9D880FE-6305-4B6A-AF56-0BE0C976D006}.Release|Win32.Build.0 = Release|Win32 + {AA43C2F9-4ADF-41F2-89ED-47843643C4A3}.Debug|Win32.ActiveCfg = Debug|Win32 + {AA43C2F9-4ADF-41F2-89ED-47843643C4A3}.Debug|Win32.Build.0 = Debug|Win32 + {AA43C2F9-4ADF-41F2-89ED-47843643C4A3}.Release|Win32.ActiveCfg = Release|Win32 + {AA43C2F9-4ADF-41F2-89ED-47843643C4A3}.Release|Win32.Build.0 = Release|Win32 + {D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA}.Debug|Win32.ActiveCfg = Debug|Win32 + {D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA}.Debug|Win32.Build.0 = Debug|Win32 + {D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA}.Release|Win32.ActiveCfg = Release|Win32 + {D14B8DD0-5CF1-4D80-8B2E-71E53670E7DA}.Release|Win32.Build.0 = Release|Win32 + {F3E461F8-2545-4922-AF95-C0FAC35EDF8D}.Debug|Win32.ActiveCfg = Debug|Win32 + {F3E461F8-2545-4922-AF95-C0FAC35EDF8D}.Debug|Win32.Build.0 = Debug|Win32 + {F3E461F8-2545-4922-AF95-C0FAC35EDF8D}.Release|Win32.ActiveCfg = Release|Win32 + {F3E461F8-2545-4922-AF95-C0FAC35EDF8D}.Release|Win32.Build.0 = Release|Win32 + {A0DE4DB7-5E42-412A-896E-8CD17902142C}.Debug|Win32.ActiveCfg = Debug|Win32 + {A0DE4DB7-5E42-412A-896E-8CD17902142C}.Debug|Win32.Build.0 = Debug|Win32 + {A0DE4DB7-5E42-412A-896E-8CD17902142C}.Release|Win32.ActiveCfg = Release|Win32 + {A0DE4DB7-5E42-412A-896E-8CD17902142C}.Release|Win32.Build.0 = Release|Win32 + {2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E}.Debug|Win32.ActiveCfg = Debug|Win32 + {2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E}.Debug|Win32.Build.0 = Debug|Win32 + {2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E}.Release|Win32.ActiveCfg = Release|Win32 + {2DC8B8E0-D90F-40F6-B0F0-D951DDCA408E}.Release|Win32.Build.0 = Release|Win32 + {479F8705-7B4A-413F-939D-5A68C82C7E6A}.Debug|Win32.ActiveCfg = Debug|Win32 + {479F8705-7B4A-413F-939D-5A68C82C7E6A}.Debug|Win32.Build.0 = Debug|Win32 + {479F8705-7B4A-413F-939D-5A68C82C7E6A}.Release|Win32.ActiveCfg = Release|Win32 + {479F8705-7B4A-413F-939D-5A68C82C7E6A}.Release|Win32.Build.0 = Release|Win32 + {9B913BF8-0766-462F-B982-8D5020815B34}.Debug|Win32.ActiveCfg = Debug|Win32 + {9B913BF8-0766-462F-B982-8D5020815B34}.Debug|Win32.Build.0 = Debug|Win32 + {9B913BF8-0766-462F-B982-8D5020815B34}.Release|Win32.ActiveCfg = Release|Win32 + {9B913BF8-0766-462F-B982-8D5020815B34}.Release|Win32.Build.0 = Release|Win32 + {69D091DF-26ED-4578-91BB-328FE9BAAF2D}.Debug|Win32.ActiveCfg = Debug|Win32 + {69D091DF-26ED-4578-91BB-328FE9BAAF2D}.Debug|Win32.Build.0 = Debug|Win32 + {69D091DF-26ED-4578-91BB-328FE9BAAF2D}.Release|Win32.ActiveCfg = Release|Win32 + {69D091DF-26ED-4578-91BB-328FE9BAAF2D}.Release|Win32.Build.0 = Release|Win32 + {6694823F-5439-4003-B718-84A60147E5F3}.Debug|Win32.ActiveCfg = Debug|Win32 + {6694823F-5439-4003-B718-84A60147E5F3}.Debug|Win32.Build.0 = Debug|Win32 + {6694823F-5439-4003-B718-84A60147E5F3}.Release|Win32.ActiveCfg = Release|Win32 + {6694823F-5439-4003-B718-84A60147E5F3}.Release|Win32.Build.0 = Release|Win32 + {4F184A85-5203-4DED-BFA9-0F2799F9AF12}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F184A85-5203-4DED-BFA9-0F2799F9AF12}.Debug|Win32.Build.0 = Debug|Win32 + {4F184A85-5203-4DED-BFA9-0F2799F9AF12}.Release|Win32.ActiveCfg = Release|Win32 + {4F184A85-5203-4DED-BFA9-0F2799F9AF12}.Release|Win32.Build.0 = Release|Win32 + {94F9896A-E87A-47EB-B598-C1E60F16F9A7}.Debug|Win32.ActiveCfg = Debug|Win32 + {94F9896A-E87A-47EB-B598-C1E60F16F9A7}.Debug|Win32.Build.0 = Debug|Win32 + {94F9896A-E87A-47EB-B598-C1E60F16F9A7}.Release|Win32.ActiveCfg = Release|Win32 + {94F9896A-E87A-47EB-B598-C1E60F16F9A7}.Release|Win32.Build.0 = Release|Win32 + {CDC6D120-D68F-47B6-A9E7-A5A461133DFA}.Debug|Win32.ActiveCfg = Debug|Win32 + {CDC6D120-D68F-47B6-A9E7-A5A461133DFA}.Debug|Win32.Build.0 = Debug|Win32 + {CDC6D120-D68F-47B6-A9E7-A5A461133DFA}.Release|Win32.ActiveCfg = Release|Win32 + {CDC6D120-D68F-47B6-A9E7-A5A461133DFA}.Release|Win32.Build.0 = Release|Win32 + {D051583F-72E8-4F2E-A5FA-AAEED0793C86}.Debug|Win32.ActiveCfg = Debug|Win32 + {D051583F-72E8-4F2E-A5FA-AAEED0793C86}.Debug|Win32.Build.0 = Debug|Win32 + {D051583F-72E8-4F2E-A5FA-AAEED0793C86}.Release|Win32.ActiveCfg = Release|Win32 + {D051583F-72E8-4F2E-A5FA-AAEED0793C86}.Release|Win32.Build.0 = Release|Win32 + {267890F4-9F75-4F76-972B-9D621336FAB8}.Debug|Win32.ActiveCfg = Debug|Win32 + {267890F4-9F75-4F76-972B-9D621336FAB8}.Debug|Win32.Build.0 = Debug|Win32 + {267890F4-9F75-4F76-972B-9D621336FAB8}.Release|Win32.ActiveCfg = Release|Win32 + {267890F4-9F75-4F76-972B-9D621336FAB8}.Release|Win32.Build.0 = Release|Win32 + {C02C7FFC-6B3F-42AD-85A9-9E085BF0168C}.Debug|Win32.ActiveCfg = Debug|Win32 + {C02C7FFC-6B3F-42AD-85A9-9E085BF0168C}.Debug|Win32.Build.0 = Debug|Win32 + {C02C7FFC-6B3F-42AD-85A9-9E085BF0168C}.Release|Win32.ActiveCfg = Release|Win32 + {C02C7FFC-6B3F-42AD-85A9-9E085BF0168C}.Release|Win32.Build.0 = Release|Win32 + {21A0126B-82E0-45B8-94BF-2FEC0216F99F}.Debug|Win32.ActiveCfg = Debug|Win32 + {21A0126B-82E0-45B8-94BF-2FEC0216F99F}.Debug|Win32.Build.0 = Debug|Win32 + {21A0126B-82E0-45B8-94BF-2FEC0216F99F}.Release|Win32.ActiveCfg = Release|Win32 + {21A0126B-82E0-45B8-94BF-2FEC0216F99F}.Release|Win32.Build.0 = Release|Win32 + {F8AA03E3-9F5C-42BF-B105-3E89041A14F8}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8AA03E3-9F5C-42BF-B105-3E89041A14F8}.Debug|Win32.Build.0 = Debug|Win32 + {F8AA03E3-9F5C-42BF-B105-3E89041A14F8}.Release|Win32.ActiveCfg = Release|Win32 + {F8AA03E3-9F5C-42BF-B105-3E89041A14F8}.Release|Win32.Build.0 = Release|Win32 + {34443CD7-11AB-4846-A502-111ECDF91619}.Debug|Win32.ActiveCfg = Debug|Win32 + {34443CD7-11AB-4846-A502-111ECDF91619}.Debug|Win32.Build.0 = Debug|Win32 + {34443CD7-11AB-4846-A502-111ECDF91619}.Release|Win32.ActiveCfg = Release|Win32 + {34443CD7-11AB-4846-A502-111ECDF91619}.Release|Win32.Build.0 = Release|Win32 + {6F8F4D0B-E744-43AB-9B26-B5CD540CC32C}.Debug|Win32.ActiveCfg = Debug|Win32 + {6F8F4D0B-E744-43AB-9B26-B5CD540CC32C}.Debug|Win32.Build.0 = Debug|Win32 + {6F8F4D0B-E744-43AB-9B26-B5CD540CC32C}.Release|Win32.ActiveCfg = Release|Win32 + {6F8F4D0B-E744-43AB-9B26-B5CD540CC32C}.Release|Win32.Build.0 = Release|Win32 + {CF7E8C5D-B306-4A9A-9029-64B7A3A19FED}.Debug|Win32.ActiveCfg = Debug|Win32 + {CF7E8C5D-B306-4A9A-9029-64B7A3A19FED}.Debug|Win32.Build.0 = Debug|Win32 + {CF7E8C5D-B306-4A9A-9029-64B7A3A19FED}.Release|Win32.ActiveCfg = Release|Win32 + {CF7E8C5D-B306-4A9A-9029-64B7A3A19FED}.Release|Win32.Build.0 = Release|Win32 + {C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3}.Debug|Win32.ActiveCfg = Debug|Win32 + {C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3}.Debug|Win32.Build.0 = Debug|Win32 + {C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3}.Release|Win32.ActiveCfg = Release|Win32 + {C825A5F6-1A8E-4FFD-AEE9-D097DA14DCF3}.Release|Win32.Build.0 = Release|Win32 + {40DA8411-A6E0-488C-83B2-00ED82B716AC}.Debug|Win32.ActiveCfg = Debug|Win32 + {40DA8411-A6E0-488C-83B2-00ED82B716AC}.Debug|Win32.Build.0 = Debug|Win32 + {40DA8411-A6E0-488C-83B2-00ED82B716AC}.Release|Win32.ActiveCfg = Release|Win32 + {40DA8411-A6E0-488C-83B2-00ED82B716AC}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/VisualC++/ExerciseBook/ExerciseBook.suo b/VisualC++/ExerciseBook/ExerciseBook.suo new file mode 100644 index 0000000000000000000000000000000000000000..6aaf49c915d9034491040ca51067864953989243 GIT binary patch literal 75264 zcmeHQ2YeO9*1w^MQUnAMu|+^YAR#>jMAAWuARwXyFoXbskYEZ$tP}+V1V!wEh$uG1 z0zM1kQ&IGx_^E)sJnOSO6$|)8zyE({hrPLX@0RSaUVLxzJK4FrvvbbOIdkUB?3tMz zuQvbi_6==53WS8y19bzx|8Yd%u%P>O5RZ|+n*{>=T^I2CAAkHIZ(oK8e*P~UA~mod zbk+mUS^(+;$nOS#!vPHeM*tcF8Uc<3Gyx0(oD6^n1eybm0-OLS1sn}%1vm!K8gMM2 z4d6Jy@qng)69FdyVgVfiZ2|27?E$9%Isi@ubOPi6asgccT>)``G(a~%0w58P1V{#? z08#;+0qKD5fDAwnKu^GFfL?&p0lfj4fGhyzmynNm9$+w_51=pL3_w3Xf4~61K){)R zS%4vcvj9T@!vJRk&H)Sui~yVqI1f+&7zr2!7!4Q$CM47B)gu%dAjuM^$?Bfy3(t>f{}!X{IL>_@|=YD^U8GsE2{zO&MT+JBw(9!il2I0;+L{7ufaM%-lHCnakhWz0k&h- zAUSF`p{JrUggPsVSyf4&pk{;3x_0jLMq?q!~A|M38;_D}ubru}Clz0@;o z|I`C^?SBx`P=wk3sRxDvqz+*FC%tU@)B$X}Z2!EcA}}B7fT?<(QU{pj&(<8;{+W*L z|1!X>9iLs$_=Xd*pZsXjZ`tb}yA`)w1li(}GPiha z^@PC{#g)ZnRfSb0m7a%kV7 zn*NyveN=>)U7-GBPOL%(yYzfc{a;T{I1G5Eq9sx1Rq8sh82XpEa{<%P!zXCHzy3nV zr8D&Z`M5{>#3_E_mV^?=SoE3`bbWsg^l=riPsDvY-HU7ju_!U@Ned(1NK1j7O~Es<;Zyo{+FSzDuDfyi&7VWFGbpK)>tW?kH_yoVCg}lEL8qz zf3fXN1%A?8W+{EN)rI{k#s;;z5KMroZ>$U zX=$r4xR*@IdzE-u(SNqR(BS1>XkJ#obuq9?V)?A0HbSNz)pF`FD?d3eB`q<(dt6d# zN@`q6Mp9B-R(?imTuwrMR!(wiUT%K(+>0+tNQzHPi^G3rJ`lRFRBLb4kA+(OR%^YY z7#nfaS{Ln%qu3PupM_Cv2DC^n^b)W(EFac&RPMadeJ(pccipK!E2$Du3qvPp~A4Jmmir$REc892Yp1KlXjH z{ZrpmLFOya>e&MrnpTbsi=mIIG=0gwkhVc^kJzIY{a?-YSC0Iv(dIe*71UzU;m z5=Y`Cu!q<~vmX-ufO%ffKL>C-#ZRGc+)d;+2s(BWS^)c6f!pBmaBT+19Iw1f`|~jT z&5)>X#gpo+I!|t=}$&rVXV+VluyC{H@ut$Lchgr>c23xc;S-vmHzYE!6yM z4MG#JF02E`|J3Kl0i4$Ve57sILgf3|SFQdgVwg8NZT{LiQ#Ry2a?Og7F}EH4cX_|@ z$_oPRzu%mF&Gi?Y^!?CPV1?cg|W+w&=B) zby{-TKnou}_F`Pqw|>ri@VmFpdheyoCGvj#D_8dEH>-EnwYQ!(@x`u}(2Ui>-k!^D z9^ar_{@-RV9vpl5NUB^de6Vas$u}KlFO^ZU(cxsE%ctfe0;{Rx|y3=&s`hS z=hHp%{=9yz2h|<&&A_MEHSKugzV&327A7s&xBS8{zUuSn4bObmwAH@5$KdIdzD^q}>vBG6JYW`Pe{(S#oP%o$EcASgIJ#@`6vR?sSEs_p=Dh?wP0;S8 zU%KKMB+%0i!*pd|*gGnX-|deSRF`DfnaQQb23I7Ry4O$)F()DR?(S z!;^=%5`ixpzs)h74Q)@YQwU427$EhL=yfAmod$=Xe-G$hr}`&Y|Mf-hGET!?2Ax+5 zYVx%niPUgLz%F>jpN*0iVPwhvhhtZcJqGCYVb$+Sy5#tS_Kef=(^mLV?|^F7_b^aV zjZ#+~m=CXjWn$F_!~XD8|HC0ou_0WSWpi@H{Cf=BU>ktb^0!0Us>UMsL7MGR3MnYl zU_wyOmy0``+q4So|A9V?Z!9!_(2kSKIzV7%-hD@a6FAl$Rp>vWnO_QSO zk~sWNfi~eiYP?kZrq-jrNyM)lJTcca!I%>8PP+D1d%Q2^b|eQl$1)txnJec?61Ad4 znmrovDo6hOo@UG*(SoDx$}cH0_X6ZZ{h5rfZyaM+X!CtTp>3#J<8V#HbJ0&E;Vt$P zqF-P=kk&+`VX9Q*k%hO?klMbasT$T))M_@~W?t+G@(^b%0l9TYEDP~;UAHG|_t=*t zXgZzxJlO%JY+y)4%5>zOjcXk8Ndky|j{OaLqzv52)#zYflH{=7So$&05*#bcL`&t| zRf+a)f$80N?fYdK_;LlX_%ky|{>B3mF^e`7-$!MOibqQl-(~0eOiLm-C*&?3RHcAA zQZfMGCnan}lzdVmzdr`}Q&DL#T^_brN|QdM{41&zVl> z)RRD|-*U!Y-b~Ke+swD&BFAF0k!}uv@p&5kB0eAS1^WG~a9yOwIe~Ju9$$v*HF|tG zuGi`D>v6q7kKcsr&3c>;2Dj<)Rk+@+$M3*(jUHc%D+wf%-KfVoA;QTm=JN!uPwMf_xIV4NpTU(AT}<;FuFvan{5%j|!o8RE``dAS zMUU^m^))^II<9Z%@twHt(&KO8%84uH|1PfY>G2P6{ZNm8jO#!3_@}sjrpLd)^-Dee z6|P_F@o#bcw;ul<*B|uwkGTG%$A7_<6FJ1oiKPGN@%_B&aeh3w6mkFMm0vt-+Gx}| zlK`u2g7-g7g zZ1Qq6z)vez*#4wPjsuc)jZB{bKPjP&&GE3bw;30G!|9+zwcObEs%&ey7!QZ`T!N;V zpviB!;V9KiZYan70QdRWwnFCvjJ6(02ZZ+cNB$`_$R6LEqk}<@-x{4`J2S163tH~> zjhplo3!dE(qe_n2f_Z7&4drA4sJ+2AYOVX9V0|xIYEw|BT6PbSP=b14O4*B6ZCG{!$>Y@zjqVRc3`mUPy%cuS+HN_by zSyR+ew6UrIxA|66R`b4QUlat5si0By9GSh=K92CVX}btGV}bxfGX z2)FG+`Pl+gs%gWjJoDw3bNVlEEWmu}s~(JRT*re}zpchdUjk32qeyjU-ru(Z zb^gn{n0FGhVRGK743zjS?`Gd5$TK>R+I^F7JI5QjUk}zop*o4w^aS|NBf~3z9w$O4 zjR7Tox2+`Y`=q(_p7*EF!@ZTJly5ebo}BQ^v>dYOz*^dDi`xL zq@7;6^m(KAR1WeN{=6(L@6n4ZNh>iu!t#)Yn9}hq5C3z4%f3wX=gkAIG~|$v9OIB9 z{gp-S(dUe1V(rmai{8GhjsywCb0r|E^vJfxRfJ}}U8kay(MROHXP&H)u1ZShU} z+9QYQUELj5A#wC;BbUj2epw*S3|uLrEV1xvBy}tcz2hjK_Lwq|Z-$m5J@?2bj=|Ej zl8}3pNR}x>%bB&83v8@6mWBQ>^ulxEBbcVqnxJ75vYmwdr9`I!E3uOn`uN2mSK6{{ zd8CnTgzdnIM3DLn(8RhBHATr2e&gf;=cHLCN;h$`EwTRSImViZClYmffv%!BXK z2VZz2iu@^$qI9fT`ror|SqAc!+|AI+LI_eqfbxIuTj1s|GWJ_W@qShdJIidkye2O z`)0HJlxeoo1TB9`GjS6WeV>IKuqPB+o#mzOqXx;rA9HiUC-$$@DdZ}>lG#dWM=)3F z4Qc__DEUH(V4qIi#2%e>M;=k;?fE3MKP8JThWWGZ*y9ir<&oG$8zLr_oHEZIojhW@ zcdGZ;=Q3|{nAQXJr<6U~Oq30_YSth19&HEO7nBz2UG`4awHN&UO)=j5tG&Koi5Z?? z-}}g8F>;aL$b`0MobuxSeafNCEA7DS4%pD7U@U_v*^xS-@TP!cV(Je2N{L36>u z^BlqcGQs!%=l>{nArk%1U%~&8JBu*%)ON(2rCB*@W+&pYFJ3XeA5hUey^ zH4=ZuJPn9FN3tbmV!&)TRB#* zoKRTX;e@(*I5(V7iPbA7RMO&w6YAzE-EcxBR^V`>URSd_kQ#ek6)j#kp>7`&H=Iz3)oYtjNsAXwaCVz>+MKDUWYm726*rtviPbA7 zRMO&w6YBP%al;9fSiN#WB`sb!QM-M5%=~oRa6%db&EnYaG&QH*a6O=pYJ?4D`;B79V zCM{m-PMx2dRoxliE5wYwN~~U`SS2l9I6?0kHGY6@IH3}&S5By;#S16Y`ANFrgi5Sl zIiZpkFPu>4N9u+XDzSRygi2bxa6+A*ts73L#Ojq3Drxb;33YzRZaAS5t5;5_q{Ry- z)cI+<;e<-8UOAzX7B8Go=g01b6DqNK<%CLFyl_IDpT8SUsKn}(6Dn!(!U=WjAe?c6 zyKae9#L{1@=7|mT+d3Slz|mh#9c|JZPhF1Q$Mz~|@gf20)~7g=06Df-wJOFtCsfve z7fz^KzvG4zDzSRiiYjUG#tE(;Qn9|t9VgUb_09=(w0PkJ*EFeF|K)}gDzSRygi2a! z$BBmMjkB=+izgROgXeh;yv--z9(!u;3u&HfPfx4$WRI<~^nP$6@^1V!*XhY!ltS0< z#cL-P^Xx)-Rw*_WM^L>pn%%lWuC|ox|G4s2(i?g|61@Se72<9z@;$LL3r}MXFWXYZ z>%r{GCic>iYfiYTNgZAO?_?6n5n1D*_r;2-iy=$?ub495hlVSr3J-#8M_v!e6~u1N zT?$=;mkw&zSW2tv^V!82L-hC}U*%rtf|q~A{m-TJhU>+mK+%KC$1g8h|Igmvr=HRG zqtBMGUkY7+?DzU>t}mB*(rzE2X0J@$I5GX~pC4HK!rGP@jn^MxLVu~+rLooCht?H9=uJ zP#Dd90ww)qz#>ZvTWy~ZdICnx-5I#M`{4l9e6_NqxRVdtL7|_L=dLFZwa9Nyep(|=`}pu3ep-UkXwkuJvuFBTbIwnS2<_v$fKt_M zIdV&}vWm@gH0!cGAbRv4DQe(row?O6q%aN;&Dw=DcJ!IX$ksvVD8d*so&p;Ew=#pz z1(Bxj|<6C~{Y>-fqyE9o~zsm6(GqUVY~2(@Kzp%`a#aaL7Ok^@Rq_e|z| zu?kLvg&$v&nRp=0?6LSI*oCM%h zoK;%+j3+hSt^csY&s}@10`S+E0<=mipK(mcvxFJ!@pl&qBm8Ii>*5*D#&BBxOOVzn ze(u_86^NgBsSBOrzZ_|0{m=Hef2f=NJH_}jd|$k`8qCP-(|hujb58rmc`Xwcu4a9* zEWsgC9bDlX{j$ZFoo_QS@WvC5&FfhAx~o?_zTuD0N4=O~IyG%li0GidD6p%4cDG(@ zk9pvOxAJT*eorCy(5_?ywV1-*Z@}#(zv`>9p=yMnCBnBjWIW z=%L*o?LT+pO_y$H{$xVQRa*IME+SI@ z*yFd=|1q)1kEeDy#eXHz-UDE;$Im?gBZu1bKMRqa^YW)fMvf;^|4UtInOJ|g7*|<- zH~QO<-d69bc8U%X({`{g_Lz5njOzqj5xh+{BGk-VBy=70M$>~~tPw7d4cdc-fI zipq1hoqAtIucYb!aic%Hwm-{jFAK7??gQ2j2SUSPH8+@il~%7d;H19izYGR=S&#SH*|{sTBLQ}{`h4wa;Q!F zUxDnLdidgV>#zNP{_e+~%a<%@>c)Qcn|?FToO<6JeRIc!uRJn6d1-?$mnA>phJOF$ z$Lyr}^U{u=_;uoMn;V|cpx~-gD~6bPs+hN7KkHxgpN4ND&nKb$eEQ4#8+R-{_k~G+ zoYdssMYFs4+5gz-U!JmL6>4LD+=2|9>OY=4V-+NR&Z#=pe=Ctz>OcGP+mF9HAwQn( z>=gfMSNQGwU*aW~oZ`O|X&(SExVJyd&M}?$)vTA#+g`fum0Oy;`_9fDot*1$|Mf>W z{a*T?`5wn#?(3gtDuJf%dSm#%DuNGyUhk{1|IY=qE<`S(3SA_@-BO-IE_bd-m|BF3ogf|9P!{d;M!W|KwW# zK7uyvRR8iMO{-9w@%JWV=v4pm+*hkW`!gO1Xr)n0S*4ZF9!JC}exBxN6>3xdr;wqn zfA{tWPgpXuKOWwGe&)XQZCl?yEW6`R58b@mnGNVwepS(56!`x5kx5N{%e?uGFZ(|E z(4$*laYn!Y`olQkisyq;f9yK3Wp(npANH0kyXfL}?=HR3jsCD}|2%)wD#-Cy4`BmAGo7Y==U2h^ABF>x7R5NM!d1%@i}X+G;3+*rSRK+67&^x20x}h>5K>V@@GH(;RuCmyPeA4?jZTI!_U*wtwL?a zKkpzz=k3qd{)*{|{8)AdD_Z5V_Yslp&#wI3v(_rG{qt1WY=BezA0e&8A1(6h&So-d z#DD!^e7|E`q@8hn_WbD|*T3leb2gvx)Yjs&mqxe#F#moKUjM9PO{9bV8TBq>{>zU! z{SyPV(|`WUk1>DD^Mffr-H%LsX-)ssU9km^O`kGr&J<^wTX4W@{oCsw+wpG=DUotv zb^Qbno$Fs)`&09OmO^TUS3dh35vl*|%WrG{#pEEre1KE^`!84coz1_vDgQUXFYDjE z{b&CDptkMLtNf~>KV1JgYlZ&n599lR*rTc_Fy_KrhaB6X#rRJu_a^+fa(jxK{>M)K z=_6@n0d|7@(H`?-{aaa}tp78R-vAf*_aUv+e_rPg+_yi@JgM_vjRyL?%-{I0KaB4O+*gkFM_lgM zttYMTeDAM!^uPbhPWwN0qd)xD-&{XrHfLNr`!8DP|FilZC;G?A0)+l?ZU6liq<@^? zx0(T?{-f>F*M2kE$-;;$csKL+vN z@nT(E>*?{saBZN+kHEE|9&e0m6FuG(*JgVBC|q0U@uP8VrN>+2daNEl4%g%L_=&il zq{mOjwXGg+kLxLVyd$oi^mu1nyXbM2QHBKEOVsZtz!({N4K;~BX2(Br4!+Dni3 z#x+xq%l!TuukQPAv3`>?A3U*y{YSHwFVEk0_P&vGUYhi6c1ruW= z+y29e{;?VXQ~wWy{^{>R{~eBY=hXh@_`_-hO#OGJOa0f#C4Q?JSe8FnZ-5lra3t`% z>3^(dKx%`(c@Td8?PspvJ(TVLaQY7|`(Lb|7Wz9~)87NWtv9Or`=jsA>Gyn#anJwy zi5vax|M#wxN5XR}F3TDi_+a0=&wpLiW6qau^oQU2FB$fb zvCFAgzaDq-bC)lxyE^C9JsG>Qmsh^+hJGjVXJh}w^h47ct+zp=l|_!lLjL6ZqZ9mg z_Mcn%Z|4%fjr|*QHi~+#i}H5}YJX13uiE}QH3+}o^It-K!^dB>9lt~i{SyOEChTnd zR8q#98y2LW)aB>8o1*jkQL^TLDEyxor~Q#oJpAF=cg0>lDfySn$H{LgPTH0K z`p@vcNY?!?7C&-X@6wn1jXAT~zR@LzeLVVby)8PSzY6EpRHF{6@V^3Q1r-EpcOrn9 zS0_&z;z&>J5eYT-bMspNPV|q>{HJUC=N#0^765}2{C4x7%x?t1sr}O}NdMX6rKqf9*=T?KMD9B(zA4e-_HJZBIm&+NDad8*8WR|&x&Dx2>+E4cR$ql{_e^5G&Q)hPY{ei+o;xkc^cY=KJf%2POtG->X>OVfOCM&F(DT+;QHJsrH&Mn&>YIJU-{m z+h6$Yhix-HolrF9!DD~7=Y$javl;)y42N)?=R*FwyKH|>#y?|R;P2@Yzm5F~c?tv? zyTE@s@NYqS1}F7zV}HBWztojmh#bLd|KVPL81qkTi?lyZ4lLNS=9u!fQ_JtWYxN6p z``nCQ{HNcTf8vP~q`za|7mG&zYuhKcFPxIO^PQfT*lP_@_x$ho`kByE)}$^Ez0YzD z%H4g!DNkJY%!=G?uRQwG-HjT8-r&B5@$x`Qk0(!FG z^L2vfD$2zwFjZD`_}+G``7D5c z`=z^;V%iO2|Bo_HoG1y~i^qD$*+AeD;8nd_wEfCKWBeueuM*y`Hz_WC&2di6mh1dv zEb6g9pfy1C8cQqstoHe)v`~|(rpJzR{914J<(u_09^k(u86yd~lS&{!UqNnL>dG84($Ab>sN)t^6RC&Qtud?U&8 zFwnNf7tV1e&8o);J-uQKd`}94xXQ78v}#Vafn$B9FHN(0Lg$BRkA>b7nw@74_}?nb zH7VE!gDm1%X(<*$j0?-{!&JNlS8-6xY&e7-=zJS3t{zBZRf8bTPE&_1x=p}%w z0ZReP0CMeN@O%G@9~w1K1#RT~>{mPeoQ&0~@*KEi&EAk-8fxAbZFf3k$N#o#-lMVY zP67CBdn9S|k-_6UQ8y)^#eY3woK3)9O;EzwJ=N!o+R2fVex4lTm)F(4_4C#<2F7_u z;oRixpr7_g%m&ES@WK}&VEH}OYV2$^D`(fnqFGNJI_*E&r99fSg8!{9lD_nxlF02}eih(4 z5z-spE7HdCpO@D5pX$?A?JOPl7PDG=hh8s57%Orntr&m&HeQHdYDWdeOdtIR;seuw zb4Fk)aFz!qK??Y_LA|Gpy1F-`_ioI9FvZ{BEDiZaPp^Qh82mk33dR5RxJJgKte@1-?pJhQ8eU{bH<;4HM&i^%drbBDU zHvcZbbIu#73U2YM!YlJRl=0Wr>yfe;eio8CxvVW+^y}w*y!2~eTxEOlMwcv@z30 **Microsoft Visual C++** [2010] > **MSVC++** [10.0] + +## 使用说明 + +1. 确保 **Microsoft Visual C++ 2010** 已安装完毕(也可使用更高版本的Visual系列的软件) + +2. 启动Microsoft Visual C++ 2010,选择"打开项目" +![VC01](image/VC01.png) + +3. 选择目标项目,并启动它 +![VC02](image/VC02.png) + +4. 选择要测试项目运行即可 + +## 注意事项 + +1. 教材源码CourseBook跟习题集源码ExerciseBook是放在**两个项目**当中的 +2. VisualC++版本的源码,其文件编码格式使用了GB2312 +3. 新版本的Microsoft Visual已经支持gcc编译环境,即使用类似CLion中的CMakeLists.txt文件指定编译规则,配置方式请自行搜索 +4. Microsoft Visual C++ 2010中静态库的配置方式如下图: + + ![VC03](image/VC03.png) + + ![VC04](image/VC04.png) + + ![VC05](image/VC05.png) + \ No newline at end of file diff --git a/VisualC++/Status/Status.c b/VisualC++/Status/Status.c new file mode 100644 index 0000000..085e030 --- /dev/null +++ b/VisualC++/Status/Status.c @@ -0,0 +1,164 @@ +#include +#include +#include // ṩva_listva_startva_argva_end +#include // ṩisprintԭ + +/* + * Զ¼뺯ڴļfpжȡʽ + * fscanf֮ͬڴ˺ֻȡַַ + * + * ע + * 1. ԼиʽΪʽ磺%d%c%sȣ%2d%5s + * 2. ȡַʱոǴӡַֹͣȡ + */ +int ReadData(FILE* fp, char* format, ...) { + int* i; // 洢ȡ + float* f; // 洢ȡĸ + char* ch; // 洢ȡַ + char* s; // 洢ȡַ + + int n; // 洢ַַ + + int len; // ʽformatij + int k; // ʽʱα + + int tmp; // ݴļжȡַ + + va_list ap; // ɱָ룬ָ洢ݵı + + // ۼƳɹȡַ + int count = 0; + + + /* + * ȡʽij + * Ԥʽɼ + */ + len = strlen(format); + + // apָ׸ɱ + va_start(ap, format); + + // ֻΪż¶% + for(k = 1; k <= len; k = k + 2) { + // зַ + while((tmp = getc(fp)) != EOF) { + // ׸ַַ· + if((tmp >= 0 && tmp <= 127)) { + ungetc(tmp, fp); + break; + } + } + + // Ѷļβȡ + if(tmp == EOF) { + break; + } + + // "%c"Ӧöȡַ + if(format[k] == 'c') { + ch = va_arg(ap, char*); + + count += fscanf(fp, "%c", ch); + } + + // "%d"Ӧöȡ + if(format[k] == 'd') { + i = va_arg(ap, int*); + + while((tmp = getc(fp)) != EOF) { + // Ѱ + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%d", i); + } + } + + // ȡͣһɴ洢Ϊdouble + if(format[k] == 'f') { + f = va_arg(ap, float*); + + while((tmp = getc(fp)) != EOF) { + if((tmp >= '0' && tmp <= '9') || tmp == '-' || tmp == '+' || tmp == '.') { + ungetc(tmp, fp); + break; + } + } + + if(tmp != EOF) { + count += fscanf(fp, "%f", f); + } + } + + // ȡַ + if(format[k] == 's') { + s = va_arg(ap, char*); + + n = 0; + + // ųոĿɴӡַ + while((tmp = getc(fp)) != EOF && (!isprint(tmp) || tmp == ' ')) { + } + + // δļβ + if(!feof(fp)) { + + // ַ· + ungetc(tmp, fp); + + while((tmp = getc(fp)) != EOF) { + // 洢ųոĿɴӡַ + if(isprint(tmp) && tmp != ' ') { + s[n++] = tmp; + } else { + ungetc(tmp, fp); + break; + } + } + + count++; + } + + // ַһַΪַ + s[n] = '\0'; + } + }// for + + va_end(ap); + + return count; +} + +// »سԼ +void PressEnterToContinue() { + int debug = 1; + + fflush(stdin); + + printf("\nPress Enter to Continue..."); + + // ڲԽ׶ʱdebug=1ԶӻУڲ + if(debug) { + printf("\n"); + + // ʱdebug=0ֶ뻻Уóͣ۲ÿһ + } else { + getchar(); + } + + fflush(stdin); +} + +// ͣһʱ䣬timeʱ +void Wait(long time) { + double i; + + for(i = 0.01; i <= 100000.0 * time; i += 0.01) { + // ѭ + } +} diff --git a/VisualC++/Status/Status.h b/VisualC++/Status/Status.h new file mode 100644 index 0000000..b81e11c --- /dev/null +++ b/VisualC++/Status/Status.h @@ -0,0 +1,43 @@ +/* + * ע + * ޶Ŀİϣȡÿģ鶼Ե + * Statusģᱻģãôܶࡣ + * ֱӽStatusģ鸴ƵģУᵼ̫ظ룬 + * һ̬ģ鹲Ƚϻ + */ + +#ifndef STATUS_H +#define STATUS_H + +#include + +/* ״̬ */ +#define TRUE 1 // / +#define FALSE 0 // / +#define OK 1 // ͨ/ɹ +#define ERROR 0 // /ʧ + +//ϵͳд״̬붨壬Ҫֹͻ +#ifndef OVERFLOW +#define OVERFLOW -2 //ջ +#endif + +//ϵͳд״̬붨壬Ҫֹͻ +#ifndef NULL +#define NULL ((void*)0) +#endif + +/* ״̬ */ +typedef int Status; + + +// ȡ +int ReadData(FILE* fp, char* format, ...); + +// »سԼ +void PressEnterToContinue(); + +// ͣһʱ䣬timeʱ +void Wait(long time); + +#endif diff --git a/VisualC++/Status/Status.lib b/VisualC++/Status/Status.lib new file mode 100644 index 0000000000000000000000000000000000000000..f24c6ffa1d947c781236d27abe0946c752105827 GIT binary patch literal 10364 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 O{y5Ipiw~`IFZ(}!^=_8{ literal 0 HcmV?d00001 diff --git a/VisualC++/Status/Status.sdf b/VisualC++/Status/Status.sdf new file mode 100644 index 0000000000000000000000000000000000000000..506400c1a872d0e4190c6663c0b83cf703706574 GIT binary patch literal 1921024 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
      Ny{(XsADyuSBnXZUcm=#GQOj!Y~@?d$o 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�$T^xv1&1$2hW(+&jT2B1G5HIE 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%0DoBn{tBzr#G@v# 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 |=EPcrcqv-xvQ>^v<5!lDCF$%_if? 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 z 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 literal 0 HcmV?d00001 diff --git a/VisualC++/Status/Status.vcxproj b/VisualC++/Status/Status.vcxproj new file mode 100644 index 0000000..4d57d83 --- /dev/null +++ b/VisualC++/Status/Status.vcxproj @@ -0,0 +1,80 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + {34C24AFA-DBFA-4862-AE16-17E56B54DDEB} + Win32Proj + Status + + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/VisualC++/Status/Status.vcxproj.filters b/VisualC++/Status/Status.vcxproj.filters new file mode 100644 index 0000000..670249c --- /dev/null +++ b/VisualC++/Status/Status.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;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/VisualC++/Status/Status.vcxproj.user b/VisualC++/Status/Status.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/VisualC++/Status/Status.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/VisualC++/image/VC01.png b/VisualC++/image/VC01.png new file mode 100644 index 0000000000000000000000000000000000000000..63eaba3acf8be07bdf94f5f355b9e58d1e083595 GIT binary patch literal 100437 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

      Nu}E4nAVYo0RHF@?MVP-v3PjOOLUt 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 W{mU&OJOcv$zDoQMulS_r_kRH+0vv1r literal 0 HcmV?d00001 diff --git a/VisualC++/image/VC02.png b/VisualC++/image/VC02.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8e68fb2d0be3ad3a653b904c3764284fd279e1 GIT binary patch literal 40678 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 literal 0 HcmV?d00001 diff --git a/VisualC++/image/VC03.png b/VisualC++/image/VC03.png new file mode 100644 index 0000000000000000000000000000000000000000..e63d56068817a18b70b3c5f321fd3a773d57fe0a GIT binary patch literal 41627 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

      YS5ZNN)ab2w2|XBHwaW8>KM$_)FS zYSLmd?uqeTQ1BHTQyPD7<;ISfOF8Fs91h%P7n$5PW#Wx{%rK)a^T)CW!`sUKR*F7{ zOOJr0Hiwj*y-E# zCaNmBZh-?Gdv= z@$y*fyD>6r-{hDgpJ_!jY17dc$+}Y^&vihwePVRgM@$#+!qQj-mb-TB6GX?wAu))M zZBtycTrILZd!p3yN>_^Jv*Y|%SI*i)bU#^7hA$Vd_X8am zs#=@-3P%gCXO<@}oO!ccRPY(0_w|A|-e_iKwLnK9#|Gr)z^&84sh3#>(EhKIdcoJ& z11a`kgO5kZhChePlO01)l`A=^qmQ>|W?Cr61n*$ldhoJ>1{bbrK{y{J0|y z+Tces1vqjOnLl_q5QM;91{`4wxQ(-cG4;v=g6tJf&DBRQW0|`OO*_% zZ5F-8MtKq0Vegni_QM=ULpg*Y1gWkyh|3Ptb=~t!B4uRxYC)Sng8IJB z8w;$z*WOW?fY1ugzz3^b-~@Acx9_jKh83y|Ju*yyn>d^KaZ%@bo#1QFMN)9C>nQRBAxpzEvfeYJ!lB#UO7j!+L%Z1u?n^wY zWD4`p|ApYq{&t!t)C{`#EaF$6m_!^N7{d2(C7QSdE1EpYOH$q~KhQPrPo7UnJ=Qou zMMg%7$K{$qBDEpL4}QyP^A1hrt~Dg)%XtB7ZmQ9Gzg*1?H+<_}+okHFU=q2HM$94@ zUA|&EMh(Hb#1v%gGPJ=0ni0QrT?K=2rMN;tU7u|n6fklcE=+3RNi&RXCqlgiZ#%bd zJvSZVeSM=XX+IaQ=ESVS&7Y%Dpf;n8n?3tg@6+dWgVlR74mYv}cYn-~>AMGj;YWM@w z5-zT3(h5izP%{^z`<5cgFHs59bjDt=BsEu!REoil2X!WfbuMW5B8@!F^>2(g=g30m z(T4e?`=Xwxy|=ekZ>|#`cxl3t^^f$6kAUuU8(x#Ljb?1W7-;R`^{mYWr11KC<#KlCY-}&^Eq4irpbXB57#u&p_ z;}*I+4M`#j{CHFI53G$?|LOI|50KovJk8^#goK2L@`~_T3y~zF+L1~J-kKvNEB4eS z3Y;`D=A9kVGHpw;vvw)ywtJAWw{T5$ioEDV%*ew7G=!dt_|V(RENVyeZPvtfVWlZA zFIQ~|a`iqo8jI_hA1`=S+uB;1cO=H;D3JCWV2hj-S&17L2!sbo*&Juo`v|&lT&5Rq92sf3M9NEW*qgnH ztMAdUv!HP@BBy^wlFiuQIM?Ah{t*ExfO;nLgOl?I;>Z+KRDytq^TkGI1U7S*(zL9- z^MtZE>P+oR4@V?Llt#(JN{ioSTa9maGrreUpw8c&%cJl;Yu%*=u$c>x$Q zw{U1aI=O{7d32ZtM}E}T8&-^w&Yc}dr7cGFKFI^=#chA5stH4Au(58L=7SDCA;C}t z=b=E;@w>7L57wag6}V(7SJ=j8Nek6$;HRW`_ z5Ugrj8&3K~zd-g^l0{|KcrWpREzZ8^UMEHtb67kI>c6D~hgi6OC~JsTH>q_((|!gy zi&hq$6N!GUy1(5y*0sF4RFKDavo(>OOT zW0z#uA^CsAqG~|twB`^N_540Fw*N+bwwtdDP^8X@5z&(|yEFaI&oq)&rCf3gEbz7N z)?wsykrC)%9?B+WEd=wc*r!jXo`mD{`sUacVl>aLGxsw&Cx6+5SieNbeb?>ZS3p5R zmbLQYR1d}N3#RYhXtTu0Fj+x^q3HP3DN(b46uLvdg!5OEyjxGV zr=W05`hxOo6e^AGThsY%7#Ka9>NZCIhjM(?IchL_hcS^Q2-=(${-!3Y|8hq>LK(*i z^wH{wcMNGR38Zy0oRA~vy9+=7`5p1=WS$G!gOJ}#6>g%5Yz;_qs~4f0o-8U_u1e0* ze+dv>{1B_|Sr6-t+EmIfk~xr3b-4GfW!fA0Zgb+uSXqy_Q{lPK^)E`k{PHEDL-)Xm zTS!pdHHw&ro;ipMavO{=lAt85P1f~qpi7)M2#8@WW6K_!#b0#n=D6h90h28xE1A_+xXLJJhC4lsjXr`1EYG`SE0$g<|DN7aTI>O!2H?vs7E}z28}p8>C>)gF)8NOS$t$<)Fplw*F6W6?tvt{!zn# z>?7n^znl^b^d8`!g^R?{wC0yXm5Ev^BzofdMk*w2JXf%dv5X^H=Mx`WEWi7n#_x2e zW+N4X0O`r|(ug`jxR5BNtc)=_Ix0CU5gtgyG1P5PX*Wz?FR#)RFc_-6kc@*5Dd5VJaeY*33ho_>#){RUG`g}7M-DYNe(W7fRafV48#ztmCwy>2NU{$ z=&kdStFF|}>qt2|vSxYT;Z)I8=lxE>xnJ?L37A*?TPr+F9x{1PR=OLmkT?cjz@x^H zuS}`sF*hks_$?$aO^U;B5}2O*v}Ss|3f#e#eqcEAz9EpvL%aUu2}QxE3wcew3GM9$ zgWqlWzs(2_e*1J2$5yqk-8kaDg;qE(gULBdb~%lMb65i&$&wzIt>Dip5T9#F8x_XV zk3}0tMl6B)e((Dp+-o2hM+VGc)e`%}SW+NI!we6c%oB6$M&Ph}d9ZJLxf*uF;{rz9 zqVjgc0y~q?tC@Eb!}nYpHk3P-WJ3GgUNvlo=2*-xD6AI~o-1FL9Jx#j-ALcKTKmb* znQaD)-Ze>d3JW1%Kp^5Tqepcnr&U_|YG|edY5lkkGph%!a_T2NBUGvJnV)+q3LqPP6B|&97g- z%xr9I=tW&mYv-SGew75IZMD+fHJER{AeB+&#i$HJ+_lsXx0=Z%h1g&d3xtf-27Hzh zn|Pi;AT@esC^@Edy7)VVlWITW37r6yt_^P&+33`p!uKyOo~$ZNBRj%1r$=-tD}%+g zvcn~}uF8m_!M|tss?gV6e5|?W8$Q$C+1;(>F%{Yo3w*k?-c&&{Jz6d(=i4fpV za%Dy|G44zCtslC||-M=f2IyqB-Ejr+irYZpht^Q`Kdzp^0k-lhg z9MDy)a>>Z#>w_OwD5Rn$oNlAh4ZXM>)vw)Or}I+$h5#pQTw+?CN7oq!I^ZzmRYsY| z9=%YlfXFwUSmlYy5rnYc_jmJjO!Z~o5oBm+NP`}eXI{%O(sXw#V63Wd!2%rqho9vft@pmvk&GU>!(J?D~>(cp^+bd7rGF)9ZSZFEYcVDBdZ? zqE=7=2X+WqUWfDwSeUqJf=U!x;@^a;iym;}2)8UTQfDk6qH;XNtyCofI-!N4MEiF9 z37jzV;;J71`{Q`5aienTf-gVTF!?tq&GjLRYD_0!W-wLUdN|u-eh$a4=>5s!VY2KD zDXr&W`OJN1rLfKHx1CzS#}yQTGoHDn&31sNniq(An|;ht9`#jso|#*ePPk2PqL&(p z(gvG}-On8nbL1d(kb!>1TMWcMy*(fU8@S#yjK_z|ZJ$2^=7qgW{$v4k-6y{T#N#3g zJc#T1q}=o#O~u)>FGb2Cy(=a0SMVazsM(Gr7*wV=`wL_7*u%O&Ln7zn6;3ADb>!#{ zEtWhPUzz05>!cOv?krOssaP^aiVX#mr>3TafJVfCtEb+!f>(7{Xal@}pR;p&Hzvhs zuh*@iDBQ4VI+RFs+(}Jlk4ZFvJ-WOXEOlSR{yWybLb;5YvLvXWEs%`>!lky#7Iw$d zlt0<

      lEww2^*Qb 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 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125003616918_30233.png b/习题解析/01 绪论/_v_images/20181125003616918_30233.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce6c324131180e0c61f3f5132fec8f945a45de4 GIT binary patch literal 13554 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 J&o7Mp{|B;Kj{N`t literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125004220502_31495.png b/习题解析/01 绪论/_v_images/20181125004220502_31495.png new file mode 100644 index 0000000000000000000000000000000000000000..f22d1c1738375d8315d00d97250160cdc9b70d2b GIT binary patch literal 2065 zcmV+s2=4cZP)>`cR&FP~^Ch zMjAQ(qgwiaFEj7?{oZ`v`@P@$y(gP2%h0Dg;V#;MKIZhr>0{R~0((sMKC*F;~O3&b#rj?7n?*`i@Mn!Uer-Ujt~&EVkhzHoc^q1pRO zD~_(NOeU1?7fw>wDa7P^A=mUNo78}olu{`wxTo%Z@bU2A;C}u4ODm4c|LI~3R^Uh= zB;?FKLJg*W$17hyO_k5dMjwwA3_%zkQga8hpMDWu@oA%JPz4J)vFt+2-fQMG!sb#cA0Uy+q9UL6q$Gr0y(30oJ zfq@3&8QbwF3Ou|ciKFd=IcnTBmW#!3B%e?g&vFJ;+qpH00rmi>J)20ZnF+*k-oowM z@0l*rrv}*`DcfGS(}ac1ikOO%*N6z%pF94c%cT+qlDs)L;K{>lwUxQs|mEC>gVRd8tm~$mHSa462jcNX_;mZ8Qbxw z1Ok}%DFD@Y{CQ?>Hbp?hLhy0@qFOEQlx$I;w8w-SyJvBosi$Zdj(1-E%e_VZKVGtd1M`)yRh0$&elFK6Pu8~IZ8&mkOy3ABe=)zC zA|L|I1m>5wzBwLIw7M9gzlhoO^xU*0#rHE*ut)uza(MMR;UQz6|8jLx z!$DFrkdl13g#B8lVR$DnH7P2kp!*~_Gv9l{5+bSa{1?l+3UP&lLC-Rjz)m&5zx~}I z0jSRIS`=or-|gt=u#IeNJkV`6JI3f)I$aTuZ`K&w@hI~88j5{B*~!9Jt+$=Bl2te< zjO}=o#NNyw@4o+;m34-ZbT|t^Xtf7vsG}xD1w_lypA{^h=d`;RQBBAACP^ZZvYL*m z3iD(WL~-`4ggHq7K%Q%2%?LcMU5tQie!?5#r|Zjc zoVO5_y=`ZX)pBowo}Qal2%P{TPe>ifk1PuV0I%|7E_a%+a3`*?9hdfk2UC-xtdP`+ zDqA@FIS($aIG2I`1&=PKFHRTJ6XLYHf&@_8FiVwg`qe>Ch*M3i2oKE`c&2Xzlv2i__lN9*-zsEgv#UX40VyDLZxh7M3|(}~dD z5Ix%yS*!GfIGS1sT#wMDbUd+{q43&ez1q)QfwG-aaDxi~D0P>C?}{H(U3#}xORfCj z@F&w;PTI$SE-e)|MDZD`|@b0S((AHTnMBGlB86eLQKBb v;c@a=(a#WcF_+%0{hH~E)5Y|~>0*8cf#)GKvgI>c00000NkvXXu0mjf%y#^p literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/第01章 绪论.md b/习题解析/01 绪论/第01章 绪论.md new file mode 100644 index 0000000..56a416d --- /dev/null +++ b/习题解析/01 绪论/第01章 绪论.md @@ -0,0 +1,396 @@ +# 第1章 绪论 + +## 一、基础知识题 + +### 1.1 简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 + +> **数据**(data)是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 +> **数据元素**(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 +> **数据对象**(data object)是性质相同的数据元素的集合,是数据的一个子集。 +> **数据结构**(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。 +> **存储结构**(**物理结构**)是数据结构在计算机中的表示(又称映像)。 +> **数据类型**(data type)是一个值的集合和定义在这个值集上的一组操作的总称。 +> **抽象数据类型**(Abstract Data Type)是指一个数学模型以及定义在该模型上的一组操作。 + +### 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 + +> 简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。 + +### 1.3 设有数据结构(D,R),其中:D={d1,d2,d3,d4},R={r},r={(d1,d2),(d2,d3),(d3,d4)}。试按图论中图的画法惯例画出其逻辑结构图。 + +![1.3](_v_images/20181124235659821_31062.png) + +### 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 + +```c +复数定义: +ADT Complex //复数定义 a±bi +{ + 数据对象:D = {a, b | a,b为实数} + 数据关系:R = {} + 基本操作: + InitComplex(&C, re, im) + 操作结果:构造一个复数C,其实部和虚部分别为re和im + DestroyCmoplex(&C) + 操作结果:销毁复数C + Get(C, k, &e) + 初始条件:复数C已存在 + 操作结果:用e返回复数C的第k元的值 + Put(&C, k, e) + 初始条件:复数C已存在 + 操作结果:改变复数C的第k元的值为e + IsAscending(C) + 初始条件:复数C已存在 + 操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0 + IsDescending(C) + 初始条件:复数C已存在 + 操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 + Max(C, &e) + 初始条件:复数C已存在 + 操作结果:用e返回复数C的两个元素中值较大的一个 + Min(C, &e) + 初始条件:复数C已存在 + 操作结果:用e返回复数C的两个元素中值较小的一个 +}ADT Complex + +``` + +```c +有理数定义: +ADT RationalNumber //有理数定义 +{ + 数据对象:D={s, m | s,m为自然数,且m不为0} + 数据关系:R={} + 基本操作: + InitRationalNumber(&R, s, m) + 操作结果:构造一个有理数R,其分子和分母分别为s和m + DestroyRationalNumber(&R) + 操作结果:销毁有理数R + Get(R, k, &e) + 初始条件:有理数R已存在 + 操作结果:用e返回有理数R的第k元的值 + Put(&R, k, e) + 初始条件:有理数R已存在 + 操作结果:改变有理数R的第k元的值为e + IsAscending(R) + 初始条件:有理数R已存在 + 操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 + IsDescending(R) + 初始条件:有理数R已存在 + 操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 + Max(R, &e) + 初始条件:有理数R已存在 + 操作结果:用e返回有理数R的两个元素中值较大的一个 + Min(R, &e) + 初始条件:有理数R已存在 + 操作结果:用e返回有理数R的两个元素中值较小的一个 +}ADT RationalNumber +``` + +### 1.5 试画出与下列程序段等价的框图。 + +**(1)** + +```c +product = 1; +i = 1; +while(i<=n) +{ + product *= i; + i++; +} +``` + +![1.5.1](_v_images/20181124235559962_1540.png) + +**(2)** + +```c +i=0; +do +{ + i++; +}while((i!=n) && (a[i]!=x)); +``` + +![1.5.2](_v_images/20181124235736015_5587.png) + +**(3)** + +```c +switch +{ + case x (1)exit常用于严重错误处理,它可以强行中断程序的执行,返回操作系统。优点是可以在程序的任何地方关闭程序,缺点是隐藏了故障信息。 +> (2)以函数的返回值判断正确与否常用于子程序的测试,便于实现程序的局部控制。 +> (3)用整型变量进行错误处理的优点是可以给出错误类型,便于迅速定位错误。 + +### 1.7 在程序设计中,可采用下列三种方法实现输出和输入: +#### (1)通过scanf和printf语句; +#### (2)通过函数的参数显式传递; +#### (3)通过全局变量隐式传递。 +### 试讨论这三种方法的优缺点。 + +> (1)用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。 +> (2)通过函数的参数传递进行输入输出,便于实现信息的隐蔽,减少出错的可能。 +> (3)通过全局变量的隐式传递进行输入输出最为方便,只需修改变量的值即可,但过多的全局变量使程序的维护较为困难。 + +### 1.8 设n为正整数。试确定下列各程序段中前置以记号@的语句的频度: + +**(1)** + +```c +i = 1; k = 0; +while(i <= n-1) +{ +@ k += 10 * i; + i++; +} +``` + +> n-1 + +**(2)** + +```c +i = 1; k = 0; +do +{ +@ k += 10 * i; + i++; +}while(i <= n-1); +``` + +> n-1 + +**(3)** + +```c +i = 1; k = 0; +while(i <= n-1) +{ + i++; +@ k += 10 * i; +} +``` + +> n-1 + +**(4)** + +```c +k = 0; +for(i=1; i<=n; i++) +{ + for(j=i; j<=n; j++) +@ k++; +} +``` + +> ![1.8.4](_v_images/20181125001012797_15869.png) + +**(5)** + +```c +for(i=1; i<=n; i++) + for(j=1; j<=i; j++) + for(k=1; k<=j; k++) +@ x += 1; +``` + +> ![1.8.5](_v_images/20181125001057524_32274.png) + +**(6)** + +```c +i = 1; j = 0; +while(i+j <= n) +{ +@ if(i>j) + j++; + else + i++; +} +``` + +> n + +**(7)** + +```c +x = n; y = 0; //n是不小于1的常数 +while(x >= (y+1)*(y+1)) +@ y++; +``` + +> ![1.8.7](_v_images/20181125001138318_16618.png) + +**(8)** + +```c +x = 91; y = 100; +while(y>0) +{ +@ if(x>100) + { + x -= 10; + y--; + } + else + x++ ; +} +``` + +> 1100 + +### 1.9 假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count的值(以n的函数形式表示)。 + +```c +int Time (int n) +{ + count = 0; + x = 2; + while(x 时间复杂度:O(log2n) +> count = log2n - 2 + +### 1.10 按增长率由小至大的顺序排列下列各函数: +#### 2100,(3/2)n,(2/3)n,(4/3)n,nn,n3/2,n2/3,√n,n!,n,log2n,n/log2n,log22n,log2(log2n),nlog2n,nlog2n + +> 各函数的排列次序如下: +![1.10.1](_v_images/20181125002335576_8701.png) +![1.10.2](_v_images/20181125002344865_51.png) + +### 1.11 已知有实现同一功能的两个算法,其时间复杂度分别为O(2n)和O(n10),假设现实计算机可连续运算的时间为107秒(100多天),又每秒可执行基本操作(根据这些操作来估算算法时间复杂度)105次。试问在此条件下,这两个算法可解问题的规模(即n值的范围)各为多少?哪个算法更适宜?请说明理由。 + +> 2n=1012,求得n=40 +> n10=1012,求得n=16 +> 故第一种算法较适宜。因为在同样的算力下,第一种算法可解的n值较大。 +> 由此可见,虽然一般情况下多项式阶的算法优于指数阶的算法,但高次多项式的算法在n的很大范围内不如某些指数阶的算法。 + +### 1.12 设有以下三个函数: +##### f(n)=21n4+n2+1000,g(n)=15n4+500n2,h(n)=5000n3.5+nlogn +### 请判断以下断言正确与否: +##### (1)f(n)是O(g(n)) +##### (2)h(n)是O(f(n)) +##### (3)g(n)是O(h(n)) +##### (4)h(n)是O(n3.5) +##### (5)h(n)是O(nlogn) + +> (1) 对 (2) 错 (3) 错 (4) 对 (5) 错 + +### 1.13 试设定若干n值,比较两函数n2和50nlog2n的增长趋势,并确定n在什么范围内时n2的值大于50nlog2n。 + +> 大约在n>450时 ,函数n2的值才大于函数50nlog2n的值。 + +![1.13](_v_images/20181125003217769_19055.png) + +### 1.14 判断下列各对函数f(n)和g(n),当n→∞时,哪个函数增长更快? + +![1.14](_v_images/20181125003411487_11601.png) + +> (1) g(n)快 (2) g(n)快 (3) f(n)快 (4) f(n)快 + +### 1.15 试用数学归纳法证明: + +![1.15](_v_images/20181125003506946_12124.png) + +![1.15.1](_v_images/20181125003527776_6872.png) + +![1.15.2](_v_images/20181125003543569_28283.png) + +![1.15.3](_v_images/20181125003604248_12415.png) + +![1.15.4](_v_images/20181125003616918_30233.png) + +## 二、算法设计题 + +### 1.16 试写一算法,自大到小依次输出顺序读入的三个整数X,Y和Z的值。 + +---------- + +### 1.17 已知k阶斐波那契序列的定义为 +``` +f0=0, f1=0, …, fk-2=0, fk-1=1; +fn=fn-1+fn-2+…+fn-k, n=k,k+1,… +``` +### 试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。 + +---------- + +### 1.18 假设有A、B、C、D、E五个高等院校进行田径对抗赛,各院校的单项成绩均已存入计算机,并构成一张表,表中每一行的形式为: +|项目名称|性别|校名|成绩|得分| +|---------|-----|----|-----|----| +| | | | | | +### 编写算法,处理上述表格,以统计各院校的男、女总分和团体总分,并输出。 + +```c +typedef enum {A, B, C, D, E} SchoolName; +typedef enum {FEMALE, MALE} SexType; +typedef enum {X, Y, Z} Event; +typedef struct +{ + Event e; //项目名称 + SexType sex; //性别 + SchoolName school; //校名 + int score; //得分 +}Component; + +typedef struct +{ + int malesum; //男团总分 + int femalesum; //女团总分 + int totalsum; //团体总分 +}Sum; + +Component report[n]; //n条记录 +Sum result[5]; + +//算法过程体中主要结构 +for(i=0; ii的值并存入数组a[0..arrsize-1]的第i-1个分量中(i=1,2,…,n)。假设计算机中允许的整数最大值为maxint,则当n>arrsize或对某个k(1≤k≤n)使k!*2k>maxint时,应按出错处理。注意选择你认为较好的出错处理方法。 + +---------- + +### 1.20 试编写算法求一元多项式: +![1.20](_v_images/20181125004220502_31495.png) +### 的值Pn(x),并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为ai(i=0,1,…,n),x0和n,输出为Pn(x0)。 + +---------- diff --git a/习题解析/02 线性表/_v_images/20181125013824965_16208.png b/习题解析/02 线性表/_v_images/20181125013824965_16208.png new file mode 100644 index 0000000000000000000000000000000000000000..822b1d725ccc9200c97008a73621e3ddd51aac2a GIT binary patch literal 3876 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014156819_4098.png b/习题解析/02 线性表/_v_images/20181125014156819_4098.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1b7cfb80ba06b811db756bcba45ba2f8418a36 GIT binary patch literal 3767 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014234236_4049.png b/习题解析/02 线性表/_v_images/20181125014234236_4049.png new file mode 100644 index 0000000000000000000000000000000000000000..b642f28f5f25db1187a5501b6b874183827f3ef9 GIT binary patch literal 5042 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014248274_14430.png b/习题解析/02 线性表/_v_images/20181125014248274_14430.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc41cec31543ea3fed18aa800a6f5e5a66b6d02 GIT binary patch literal 5134 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014438821_5785.png b/习题解析/02 线性表/_v_images/20181125014438821_5785.png new file mode 100644 index 0000000000000000000000000000000000000000..20164cf10b11bd2e8025d86dd915a6c0443b0779 GIT binary patch literal 2977 zcmb7Gc{r5o`+vou$S@)MHYSy26o$sWj1*F8ERnq#+Z4t&*-yxlJ9K-iKPJyozK38u00RW`^NLVuEA)?@-u)mRw|1EEve~>c)3taPXC3yRR zUsBg`I1g8B1QY2C09=TxXnhPZmpL9`mJ=Ysu@aG5x}y2=vALO5 zqH=IZ$hvDCt)`}iSj8y6UFVr;*G^nqTs-^6wo>LFUy>o;SiG3=VhO()&+SuGQXgBYl_Q@!H@nR{-64Kk-OCpiBQS$Pp zS0LKj+6k^*$pOMio!wVDcNcQJO|l6PdwYA%a=I92c^C|&DgoQyA7sk*CHZx`*KlHNuug7X=(js!d+MDs9_2pA79$D zX9!p18tIw-4b=n0QlREW@c#T{J>aY!bzNs?4plmMe%z;xoB1}7x!cwl@FTd$f^=MW zf8)vW7q2RD3%N{I0s~e$FfcGwUtbR`zKMdlXjL(|iU#6_hA>N$&5rG<7p0YBOG;$t z=I8a(;UqIz|G>b@OhdV+U9;Uc%IWu^s9|Oxe&qEZJ3D`JrK)*PB(ANk#d#(Ek%q!p zS-B9DtF1IIU5eY>3?ynv6!bnXD?8yBv5&mpyuTU85Ww+mdK9*{wrXqS^=-Uo<s=-q0ksD%fcMUV7#45TYX(%8_DRYXK2H6tUMLQ#A1;zgXC0MO51#LmpP zsH&@TiK~B0XnyJ*8mcvctJTI*MGij~d1!4BnE&7beqfA#eAyowPM zZd&^&4;(Y@L?V&InfSBO^y2`XPA4wabQydS6%}1Q*!#&P3ZekRmiUWqJuotI;z@UO zTP)A)YL}#-m0Lgn(!|u%(0Dv4DT(-#wiPWdytjYgc>R;}V9B+rDhFCHv0#?A-lqwA z@IznU>6?x>Zr$R8Uo{{Qly`S`FQ8E8Lj!rA;HFlIl;otOjxHCw!LY;qt;VTY)0~F} z1*EtDZ9kOH)O({(c6N5YD^vRTQOdo}kUaCVmyL}Xjd#dPJBixb93Xa2Z|{hbqN3Td zm^ogi-|S#eq@KSYsfiEFNE=FOFps!KbW4kVu10{#H^|h8TR!dE1CT;x6_vEKw2QN} z`&3awL&LK5UT1grbI5ICmRMHoty0@cNFHoGm}b*JIJ5b4QVDNt>EIyY$)+b2tGQgy zN*xazP26g{gE+~zZ`0>VH-qQ;Jn|c27D3vEHEUYzX z2porLA?ko$Ivn(}jJmq@H??ThC;@pZIPf0-xLe+;B93ZXi4AYoE%X>RAkrp;OCNQ1 zb8GQ0^1Yc;Q&Zl66CSTnQ(4JWDlRV8#Dz3Z{%l@ZY2z_XJKe|& zi7onYSD7Xr`Ybi|f)B$!h~^IlttFL0(P4Ee6$|K<)zv*L^edFhPAe{@Ma)e0*0;I_0;zGa;(k-m#M53}8wQe4#%utCf8y(} z;Qdk1-2juxtpEBfq)jYqMcI(3SDx%u#b^>M=qwld7C zmv_>Ru@O??WtY-<_KVT^RVQubP;fXr`gB^6e$fD0k)zI*iGxJiRvzTTubwH?5zHp9 z$5s2zb~@t2)8W&F*Mrx^(URZrS4j{PbFXQ6x{@OlNx_|-^sW* z^x977t53Rz@0MC)xW2!B{W_av<8S+0m+EnPXm}*ubHA4HgPxd@(q*TRr5x45TYJmw zUlc|kzOH*{XlhD!3~h;xFgJ}qe*AcP-}|Lm7kH3gx}3gSy1KgB&)87v7-7j_fm*O3 z@&wov>qb}vQ{&@c7qql;8}E%$vRS0ISq*fb>d)=4h zvQl<{^KpmE9nb8nHB~4SdUW|iL50vidn4oG-hf4xFzn#>4pR4E zdsY!lbUw+@l@?tvbk|L>l7Anmeu%~4Bv>NT(@)XH>Uso03~5ea#}))s2Qt4%G@Zlmup3C*|HJxk{(#?-g75B`rXkgZ!1fxr MYGjTk8#q1u4;8tG2mk;8 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014451902_15334.png b/习题解析/02 线性表/_v_images/20181125014451902_15334.png new file mode 100644 index 0000000000000000000000000000000000000000..170dc6ebe502a3a6c7ff431017d582ea716a2372 GIT binary patch literal 4809 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125014506111_5250.png b/习题解析/02 线性表/_v_images/20181125014506111_5250.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3999a66a69c7a35ddaf3fba9ce7788a8fe951c GIT binary patch literal 3347 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125021743781_1329.png b/习题解析/02 线性表/_v_images/20181125021743781_1329.png new file mode 100644 index 0000000000000000000000000000000000000000..89656e4d5a0be1735a86b3f39562b27ebf677d6d GIT binary patch literal 2279 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125021843504_17730.png b/习题解析/02 线性表/_v_images/20181125021843504_17730.png new file mode 100644 index 0000000000000000000000000000000000000000..de8119d00c62e1a3b99d4025eb65445d2315b673 GIT binary patch literal 6065 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125021854448_14854.png b/习题解析/02 线性表/_v_images/20181125021854448_14854.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc3d810132a6deceafb8175e0d15dc5ff71d1a2 GIT binary patch literal 9634 zcmb_?2T&AIv?Yp)!XPQ0hJ_@L9&2I&LRRLS#nlM zB16u3Z@d5h{Z+fQRa>=G!Spme-S6FS?z!hqsIsCQF(Ex69v&X?{d*WyJUn~`ICejO z4*sUU;HScG+Mlb#87eA3Xh#>mef-_5`A%4L1Vg)Uh>6Ai1x!wWbT{N8`+-{I%g=O+07 zj)b57za3-{+@e?bBgf*aZt_?7-yMR<`PB&chHs#zqhGyx^uzc-sZ{wG4f#A0< zU(yAor2O}?6cQ5c?Ccn(r>9A5Zqa8ZB~1)8htYJqxVkdB%eCBO_}^ zoeQkzu)8H7pp%`Q?Xa`8HF1P1>CPMW{-Dljw7I$}eDl?iubmyqzy&MgWgn({w6dWOT{w!mIjg@tzu2J*EY z2+)UrN=U5zt_H*erC@42}bPq%(L_)l#u4jq9b1jIa+OUVg?DtPoO zS1;BS<>h^sfM*lO$Tz#VyW0yp{r>ti^FiD>@oz_OR~kFMsEprC?BJH-uM{HW>oy_V7R z;j&hLhpXn6mY6c&>hbaMF2Xa<$Jmo z<*y2xp+Z9UgxjpU&0}L?Sv7)*iHYkYf>=D6 z(Vwb%^>x|nAH`Z25t@*|gY3=9mYv7jjKv!lsFF(X0_lRlitbskf`JJ0lar1;D`-u{+LH1b>h+2|08?Mf6W z5nyG#EucI!s0CpY))LOJ<0~)!J(=I43wNG~=pZm5K~Gj%T3Xf0YT+b5H#h#v^xASw zWu^Z9K#^Z2O;~gM$jAtTVv;CT!GLwj_RdZu1h;@eQi?=3#OpJ})f_24Z|-8$m6b^^ zk)F>xIo@eF3Ag++QSs|%f?&*U@Yu;lu zWK>iGv%C$LE?p`jZccvs{Q2|u3_|w16O~R)-Q(l6^%X;Wj4PdvJ3n2D!?B(><8j*R z>gq*aLh0%0%M>cv8-jBk@f-Uc@%&QDHXq&Iu$o?TUI z?bQko4_Azhjg8SSzu|Yd>wq}-Y&R_wEk15a1{rM~op=*i9rLeWzp^f7DoM-8=t=JW z40M`q37?)htgxR*2ai>wwoGKQ`<|dedV!<%d4gR@h5dPg1#j10UH{P zBr<~P{Isb3hyyG(F)4{xOI_WwxCkE~Ur0<;G}cv|hmX(E1)Qn4?PjraiJ#xaX3T|K z=hNdm{zgN$M~h7fs%mP~EG;c7T3fz;?HMVtxOVMY?wG0A=tpDx0{yBtY~=SHzTjTh z){5`XL@DKzm&exD)>?MH6JVnx6tQu*`d6Vol1XeZV~^6SF8LypD8`~YnO#gwOt;!~ zA)tdp#Chhtj*iaOpLejw05PfK-RW8`t-|LNy%b84dowiMQYSw0Dk{B4Z_rlu?*(yg$U#F_C8Pzm(AE*TMKn}b1V3R z6V}oiB4lAnv4pd@zmne`e=53u{knC2Uf%f8(NP7-S2yQ{_1X5#jc%!(Kf@&!-P?KL z#0-Kx%M&%Z#l^*1D=VQdU!vC6*VB7?lwZ7j$yT8Gz-7LRz0PpzC_(NOY?^sqOhV$Q zxQmILTzYSBkCKk=ep*@@B`xheFj?J&l2%nUHLHi7TVPq#)Yg}r$3yZGR%iBolaSlEMz+pM(YrW{bQn8{veXU{i6g_t!d7H(>4 znm%9SfEz9jf>PVTihd{Q>t*8ZzP%qx!C_8|3U;4=6bZin$~-mT>xh7}v-5X&QX$jW zv9hX;&V3fY-AggCv8u|-Ju(MsYHHU61Y)dhY{rg6lit0Pw=R2!)%9nZs&?aA*z%HB zR21BHefaKHuEEOP`}Z%{P1eTy?ajtXwj$R84sQ0VDXF-+-U4jv1xO6HyDKNxx4kqL z-eAun>=@uF&P+u^6Q$3y;&On$#B#FRT7!Ol)nl~Os?AqKsny5hPvtn+Av0}GR=D;AQH#XB>%d~Xs? zjEs){2qtE@#~DMeV#E7gY^7EPP%#Ti=gurO}qk{iIlDGuVBocFQWcy^Q?xpJ%97|{SISDCRVEY!gW^lNN7|iR}ucK2^ z9ImrsbwfHkQlwI1c?{&?35olhG4%74 zxbdneL$8HQ`)-%TLGIBS4_<*=x3tYIEQ+Q#_U3#qM&Lu)+LZL#%n=n76g+8V@kcFo zifnpGgksQW>lBCbpV-jQw2vS8ynY4IjLt$a+D-E*na|75&-nK3o^FXbaoyfrLaF_P zsI`^VrCfFSI35EupyzS5pVvmG&^1xfcjdMt(#grmx7_}!=jB)~MPKLP$%>7o&MPX) zhH6FLK6e`U_RSLWPF*ETr_{-z%M5Vl@W>(BPu(M{z-m>2GyVJ;N&(Cl3_+W)XWwGdFzB@%|*?%tHA}2ll8PFyy_8w0hLx|LUHgac2M^^OB?JF2r z**EH(0$pLlV1g%4=(0uh@*!TB@K^p2QqrFs@zndKsxH2@f?uTl~Y zOmDifad1Qx74g>XOnQHvUijM z=WT9oZnoF={s6mnUHFmdUWYl@UgE!4VCwSa$KnVCeJU+wO#eQ6 zT?wzdb5$ZI7gug&<=Yo8UR=F=IS{Kmf7WsBu5zw=dBQ3aC1wAD_?tIx$i3E@X|A!e zXHKj=h`nx1M4a*Wul0z~l+Q+?YA&u`@9Xp7bkmNvH{R)#m@lobu3}e~B>*v~c@4*x z+x?U_Cdw_@_8o4hKq^3ujgE?v2@MU6j)@tt8e6H|xERhP77H0Mn9$CSPXGAvW5~KM z)LFw6gr}Sve13sqeZDKHMo>gVMCB@_m#((@4u$PYHIjeG@IwK3nF9UUF* zo=*V~A2&zpyk`(Tq=F+^w#u>E&8pS6!`}rI|ksex#ZG^T#uj*Y5G-$I6c$ zu>y14zB)xj!}I?Adp1?hn3>txyQ;aHX(lp7Lu#I$!cc^I0c{TKw5eb#D22(%$rKZC?>rYy4WG0ajMW)6>iT+Y;A4*UXEC3^SyfY zs`ht9WtNv$6yEjE(%7TZHS#rkA-5kwp~!O@3*)V~JZwlxVj376Bv)DdIz43Q9nND^ zZ;NaG*4~aJw*9jejIXZ*Kr)??hlV97*~sv)>l0?^VhWV6swbWuCCXMz8qMfi5akxe zVxiugOX)81?-zk~hdF*l>Ub@()M2XLeb0W3!q~z>4jNkwrscvkF)?w=Y4nvVSq4R+ zhDF)0UXcQ7{CeN>=dAY;VXD~P+Qd2`Bnxv?zshLIF(cJR8IjpU{y}i;z9coVQ zfc12qI^YMpjg8Ip8iQadOX%Fff)!)=S02-LzqJ0vEd;_8r?v725DX>{eGZ|H04exU z4pY$Z19X6t7hz#yzOf#?+H0mSaAC z9v+@nTz*l#Jgu0!?Iki54UHIYJG-T5ND!*5i=X)E!>?>6IMk0AAYD>!ZkyLOZbWR@ z7b4of%&xfC9jjq(K9>RoR4)g5SU_t67ID&75Nk6C@P=Zmt4ZSH|F zGgLTZzMr_`qoe^A${nT@Rdb`G<=Mf|?{1pCaPpUzC+q~10UqRh{P^nd=%}r`ySvgK zVCTJNzE$%JD%YQ%Pw4_I)wuWqtu~1GwL+qn_0Vc)5~=(${=>XI5C`@<$yn@pQ(ifJ zea6ltvAA3G;Z7$rZBa_y2|`K(?jkddEgc;n?(@X?=P6%xm*~Q{SLrK`mD^p8e>li9 zg^SyonR!e|M0B}KcLLrXuT8hAIXmA(*eC2?=3r-q1Fm0QUPjggAKM(%b0AY$e17=h z!*vMEv>+my^016-lCwC=@6p$mOs2~1#sb9INFi3eR@!+R#C26w*AwrtIqxlGr)c^D z?n&jT=fz&2xH3a<=1gs~UYWH1WZ zFE6LEOUZ1U-w4tz&>UUcEuSA+aD4;qmSSs2WmOebf-}_z;EZ(=-rKmGiYdQ?*R2|w znyPp2A`z9Blf(Mp!Gq}+7@VYqg@v=TbNcu1^3&Gpn8%5%9T$^Kj7suVW1^!=#aOs_ zd5b2#YebsZ*-bdley2*-zAk8Qnquy|yK2nI!z0)-w0)Sg;Hj^sM#0X((f5LiYq@sy z3z1S7COy#}|K`)m%F0b}OP7!OYvUI_B|BA1Hc;{brd!Oc#QxeB2dHGo_WB=hq`05G zZ)Veahg>?E_r1%=0R+H`burCwWqpFs;Zm8Z@rz6ZD+ATv~CbW#u>PZx>( z2D%!Cm9*45uVh5oOF8K_YmQGp{`s2f*uruK)Hz>|p_801Hhd?dld(}zQEOp3t(WBN zcHFkBr`IOx%(sUAsx!rD`;KoUBqT&dMv@%u4>i<_X%i8n)9LulaYm(Zu8X4E#n`!V1?XG`0LeFU8|qz4GwwYLVO$%a44OQz#k;j?kajfI(+K|8&2EM?yBp7;YVnxCo7;$vJ_z-(@hIk*VY9qw-}x}F^SDs~aW zLLx)5RdXLQ;fr4hHf}juZ6YxSU?T>K?lm*o;;Uh3xNPR&P;^5`Xdd?~2#}ZD+uK`_ zg>B)_A8kIn(bC5}V?X6(WCC{&RvJixK+R?@tKwlha1<6V_C{vLFV zv?4tvH!!zu-NJ^2h0Rk^Q}X~Us*#cbIq;%DhwGDh8XI+1rPPJb1O1VEv!JJvA{UUBnSt=rtTIIgmJw_(2=l z?p5cfZ)iB#P8ejO7mq2R{4H8H)YKfPfFk!r)S8YHnd=Cl4k3($s`s%_$6maqJh3F*|PoZQGS|T6PhxBa>59zRp%QOSRfxdb(r=mba#y|-4Z)rD3rvVik939 zLzLZc1CP=?0`<_Zb69WP+Kh?dx>HqIIfIdti*p*V2c&PAn==oK7~5E1H=HcBqF6`5 zsxBD3VqjVbjN9re+eQoddFuhJqVZK4?hcR*T|{<`)`E| zv$M0zR#sNt(2CJKe9QMsdhC*hexdY$M$tKc8@qdNbsNkfQuX?(EsKzX}Tr<3Xr5!X-Q%InSkyHAvPa?tuF5Ob$=OL)myf+hy(3Ni&vra&npnwZ;1P*HF5w z2s7coAA0yQ0RUZtq}ML~v)Iuo2?j<^Uf!K5kCo&nN|6mN^AXdaCmR};TE13gC3UUB zaibJLK2#I$TJu<$ENkoRG!WA!M64Zf9BdMJ8MZHJ0vQm~aAE=$^0wS0XJ#S!t=VtLvs6%IplR z<`-eUN_>Fq#?;<~ZCV;s!~PtVM2SoE53^HKKkuIOWh?ao>AqK>Nf8-BWd?Bg$Wx}f z1<%UbI-Oguyl1k`I~4nEd^{228fg&vtp!GgT@M0Dz$v0` ze<|Y=c04(eO#b{TC^`JpkMbT?Yi>!&104T532#BdaN``iv^)LpRw^rn2~j9a8Un(X z&%FpgwGP$Rz51x6Taw}Dy#O1~kX`>M&vzTV3=hwYrG6RvpP7bN>9$BMAmCPiueU(Y zQ*hEzO;d9)-xqF!*F+5W;j)THaV)r5%10;BqtmLwlMkC_!&&FaGDl$U&oA z*oMN3a%AHpb;k{_^#}s_^xB#5P$2#1Nh`=gR%onT|Mp)4z`F%^1c2Km}eZ>NR;L5nnb=+{H<-7gr9}!;YDM5CN zhnGnET7m)9G>jXoSh>=~*D&{q38McXlAmt4vGM5*e*T(H<9nCMoA{t5cF6K4oo%*ye+|8Z+n ziEOGI5-d!Nj3|iAL@I{0wYAMQjugg&i50&caVOHMFl2mxXI^NPfapt1Z{_J6Ob_9a-;oR zY}OvDVqm}|ASkG6YI+&bWyY&q{@caja8KQjk4`NO7dP$NxLaH2Ir*EJu|u=Z$<56U zeH?`>;Za(R4|MK*Tt&6g(A__mzQk=<`}WhPPdS;H&CgX3j6yM86%zK zYfUTAs~{(Ptm#pc7nGTt%(Au+yW2KQ#A(ZIP=kD%Ep!wL=>E1kz{6F9;&@mn|Q9Hgb@p+J` z3Je$Mw*ul^p0M^~Q>}cEd+-9}n)vcAf^n}RqVTkrGYaKrFssKCH~j?ByYYOVCnLFq zhxhZ0m!K?dk|M`_C8eph`t8llmvL>6b0fW!R9+|v z2D@62QJefcqx17^f+8c8N}#|W+D3U)cQhYTfTqnUzXD=h)1#kn|*~0z&;6h*a zj$*R-UUcK5j{}ys8-Gc)M4)mM$*_1X==ChPil83j; zu9*gJLmxDF1*RLmo4s=E0HKA3b-LCL4n}wSMK`Sw9SBCS%IfNrk;b&y!^7I)Fhg8k zSfDHFwfq7~?#AfFk{SsAU8u|yHrCc`!1x^c2L{$=ocH|D)=&QCX1i~i-(!a5p&YIX z{=5Xy_%=DY-XMSAT#}T(?O zds$hTnt4~^p5NG^r?)pUm-PEwUznfo65IB;4MatS7zp>9@el3n?fq(&`0}9?w_@Rj z9v(XxK<=a5mqs%!yd{ufaP1_j4XJ&<>@XKIZu0Zn0QL*+tgTgbYA^ukLmO(2(wd)t zqnRH=Ubb!hRy6kbi(7que!kq;=;(1s{>Dx)d^I7yqQavCiQIXl^|yz~ba&wuGd|kQ z!NEZ@So<``?PWtqNGn;N?65bC4qE$fynT_8VR|1%(2Le(`>zTL?0P{s zhFC~XN1K6enx2()g~Q#G5uS0|NSut6^wD41M|caaqHO@gQHzU<21N!n)Q(G|WdUEl ze7U=@u;5<>zUbSS>(rCMz;uQ`l0~ZCD1SiGKwtk5_op`lVPtxUlkX}@UxO$0N* zeJN1Obvys(koVD>kD;(T#y-niL=da=H?8|~{KMcv(02aCs;q2FIVg_HXBik0kaat{ zxo!2s*AV>mbaak@eB{2}-}kCm94b1XfkrJ4zBuyO*f{NAZ0gt@2i43}-@qUcM#KtZ zJ4pM6sHWUNl$FMYhohm$#>VgOLuGoj`V-8o){2LZg<1QE2ptpXJ_6-Qm=0!;&h%iY z%qdnMCy_i6VbnwrvcB#ta&S^EVn*ANTUgi?pW_yB?!cd)zeE;>W-mYt)CyT# zA~D`BFU(Y)AxR3rTn^um2r{N6Ffy9j`NxEB8>L#{<6(1-NX1a0Nc)}{G0=elq)0A literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125021917117_7519.png b/习题解析/02 线性表/_v_images/20181125021917117_7519.png new file mode 100644 index 0000000000000000000000000000000000000000..60309a2b70d4bd51be3e69369af7356b359b4259 GIT binary patch literal 12703 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%0AZZ8x^iR&x_j!b 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125021939528_12633.png b/习题解析/02 线性表/_v_images/20181125021939528_12633.png new file mode 100644 index 0000000000000000000000000000000000000000..89ca7852347b1bebe3fcb0abc79989ca157663be GIT binary patch literal 15877 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
      rLX!qVc>8!&~i>;=`o0pwa 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 literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125022414116_20977.png b/习题解析/02 线性表/_v_images/20181125022414116_20977.png new file mode 100644 index 0000000000000000000000000000000000000000..61876ed44b00ee6f3ad9cd99ab5f37bdd371b71b GIT binary patch literal 3445 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 XzQIFqGT_7X00000NkvXXu0mjfZy13| literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/_v_images/20181125022508237_15214.png b/习题解析/02 线性表/_v_images/20181125022508237_15214.png new file mode 100644 index 0000000000000000000000000000000000000000..63dc703f849c23068d50f8330ac7318d3f371da0 GIT binary patch literal 1425 zcmV;C1#bF@P)yC1rtDn%RLufg~o5;{e5< zqw}8q{Y2mQeee0%76=5u!om!g^A5n`-Ni~S3)8TY%fd9QIz*@Ld61{B*S9Hzjp1_k!0|Bcu*1tEBPaBwvY1| zXUN=7^9wupvz43IZQB*NSA`xAEiR&Ct=s_2^V6IbDd2o3h7|ySrluP?%sC$e&A4|P z8|?sZGFXOtLz395XM{3rf86iK-egdIu%W8%O8ZsISsq$kbVnm@0OtCYO|GOuM8JIf z_ye<<3a{DzIv#{L$m({b~Ne+V6I=u zn4EgEzv1S zlCxm|0EBS-TmK#YXrV~fx(T${hY%Faw+!!-13cK$(W$XuEIHcYO!OqNFMc<`I8HP~ zpKQ0ll6{RpcN-5yBS#5I;V=QQ?7xG(a=^!V%l=-8hZc2ktQw zl<&Up`l{Rrpft+?v}neTa7P5iqQgnSf4`q);^o?9DdhlI`Sf+p7w{T6oT|h_3$q=K z3?8Fy0OtD@CD&oObqe@lwLu@U*W6Axw6v9>-~!gjo%B;n4=s#1Ry%m=5vwLO5V%Rv{<2s7WHtfiW;~9nD2KY zxeA4p<5_HJlp@SA@8=UDb?qd9&hkAEuV;22=%>3ncLtml~HAgI}85dC9c>J&1{?)8sS z@Bi}({kuzDSor*xooD-Qo@dLhT`rTOUN-=9{S1EtzckoOgYrZrFACpgyVUFB znX(H+vuJ$zH%@24<@R`H5LH~1ZTOEYE{vx` zr6l%yIx(!M>V{jPfYX$6=N(h6DCNeotWqeX9BIVn>X}#oSFm!GA{~tmzYCSC9F&lO z*R8E9^-iuUSGh`|LdLO4!FAqon8EXC=-%S``tXxStK;?fyy-Yr<+3mht8!VGhLv0v freP(Qg=zc`rK}fD1bl0K00000NkvXXu0mjf$wIol literal 0 HcmV?d00001 diff --git a/习题解析/02 线性表/第02章 线性表.md b/习题解析/02 线性表/第02章 线性表.md new file mode 100644 index 0000000..c0566db --- /dev/null +++ b/习题解析/02 线性表/第02章 线性表.md @@ -0,0 +1,498 @@ +# 第2章 线性表 + +## 一、基础知识题 + +### 2.1 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。 + +> **首元结点**是指链表中存储线性表中第一个数据元素a1的结点。 +> **头结点**是为了操作方便,在链表的首元结点之前附设的一个结点,该结点的数据域中不存储线性表的数据元素,其作用是为了对链表进行操作时,可以对空表、非空表的情况以及对首元结点进行统一处理。 +> **头指针**是指向链表中第一个结点(或为头结点或为首元结点)的指针。若链表中附设头结点,则不管线性表是否为空表,头指针均不为空,否则表示空表的链表的头指针为空。 +> 这三个概念对单链表、双向链表和循环链表均适用。是否设置头结点,是不同的存储结构表示同一逻辑结构的问题。 + +### 2.2 填空题 + +>(1)在顺序表中插入或删除一个元素,需要平均移动 表中一半 元素,具体移动的元素个数与 该元素的位置 有关。 +>(2)顺序表中逻辑上相邻的元素的物理位置 必定 相邻。单链表中逻辑上相邻的元素在物理位置 不一定 相邻。 +>(3)在单链表中,除了首元结点外,任一结点的存储位置由 其直接前驱结点的链域的值 指示。 +>(4)在单链表中设置头结点的作用是 插入和删除首元素时不必进行特殊处理。 + +### 2.3 在什么情况下用顺序表比链表好? + +> 当不需频繁在存储的元素间进行插入和删除操作时,用顺序表较好。 + +### 2.4 对以下单链表分别执行下列各程序段,并画出结果示意图。 + +![2.4](_v_images/20181125013824965_16208.png) + +**(1)** + +```c +Q=P->next; +``` + +![2.4.1](_v_images/20181125014137666_10327.png) + +**(2)** + +```c +L=P->next; +``` + +![2.4.2](_v_images/20181125014156819_4098.png) + +**(3)** + +```c +R->data=P->data; +``` + +![2.4.3](_v_images/20181125014215622_10158.png) + +**(4)** + +```c +R->data=P->next->data; +``` + +![2.4.4](_v_images/20181125014234236_4049.png) + +**(5)** + +```c +P->next->next->next->data=P->data; +``` + +![2.4.5](_v_images/20181125014248274_14430.png) + +**(6)** + +```c +T=P; +while(T!=NULL) +{ + T->data=T->data*2; + T=T->next; +} +``` + +![2.4.6](_v_images/20181125014311773_4232.png) + +**(7)** + +```c +T=P; +while(T->next!=NULL) +{ + T->data=T->data*2; + T=T->next; +} +``` + +![2.4.7](_v_images/20181125014323122_29833.png) + +### 2.5 画出执行下列各行语句后各指针及链表的示意图。 + +```c +L = (LinkList) malloc (sizeof(LNode)); +P = L; +for(i=1; i<=4; i++) +{ + P->next= (LinkList) malloc (sizeof(LNode)); + P = P->next; + P->data = i*2-1; +} +P->next = NULL; +for(i=4; i>=1; i--) + Ins_LinkList(L, i+1, i*2); +for(i=1; i<=3; i++) + Del_LinkList(L, i); +``` + +![2.5.1](_v_images/20181125014418601_7477.png) +![2.5.2](_v_images/20181125014438821_5785.png) +![2.5.3](_v_images/20181125014451902_15334.png) +![2.5.4](_v_images/20181125014506111_5250.png) + +### 2.6 已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 +>a.在P结点后插入S结点的语句序列是 (4)(1)。 +>b.在P结点前插入S结点的语句序列是 (7)(11)(8)(4)(1)。 +>c.在表首插入S结点的语句序列是 (5)(12)。 +>d.在表尾插入S结点的语句序列是 (9)(1)(6)。 +> +>(1)P->next=S; +>(2)P->next=P->next->next; +>(3)P->next=S->next; +>(4)S->next=P->next; +>(5)S->next=L; +>(6)S->next=NULL; +>(7)Q=P; +>(8)while(P->next!=Q) +>          P=P->next; +>(9)while(P->next!=NULL) +>          P=P->next; +>(10)P=Q; +>(11)P=L; +>(12)L=S; +>(13)L=P; + +### 2.7 已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 + +>a.删除P结点的直接后继结点的语句序列是 (11)(3)(14)。 +>b.删除P结点的直接前驱结点的语句序列是 (10)(12)(8)(3)(14)。 +>c.删除P结点的语句序列是 (10)(12)(7)(3)(14)。 +>d.删除首元结点的语句序列是 (12)(11)(3)(14)。 +>e.删除尾元结点的语句序列是 (9)(11)(3)(14)。 +> +>(1)P=P->next; +>(2)P->next=P; +>(3)P->next=P->next->next; +>(4)P=P->next->next; +>(5)while(P!=NULL) +>          P=P->next; +>(6)while(Q->next!=NULL) +>        { +>          P=Q; +>          Q=Q->next; +>        } +>(7)while(P->next!=Q) +>          P=P->next; +>(8)while(P->next->next!=Q) +>          P=P->next; +>(9)while(P->next->next!=NULL) +>          P=P->next; +>(10)Q=P; +>(11)Q=P->next; +>(12)P=L; +>(13)L=L->next; +>(14)free(Q); + +### 2.8 已知P结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。 + +>a.在P结点后插入S结点的语句序列是 (7)(12)(3)(6)。 +>b.在P结点前插入S结点的语句序列是 (8)(4)(5)(13)。 +>c.删除P结点的直接后继结点的语句序列是 (15)(1)(11)(18)。 +>d.删除P结点的直接前驱结点的语句序列是 (16)(2)(10)(18)。 +>e.删除P结点的语句序列是 (14)(9)(17)。 +> +>(1)P->next=P->next->next; +>(2)P->priou=P->priou->priou; +>(3)P->next=S; +>(4)P->priou=S; +>(5)S->next=P; +>(6)S->priou=P; +>(7)S->next=P->next; +>(8)S->priou=P-priou; +>(9)P->priou->next=P->next; +>(10)P->priou->next=P; +>(11)P->next->priou=P; +>(12)P->next->priou=S; +>(13)P->priou->next=S; +>(14)P->next->priou=P->priou; +>(15)Q=P->next; +>(16)Q=P->priou; +>(17)free(P); +>(18)free(Q); + +### 2.9 简述下列算法的功能。 + +**(1)** + +```c +Status A(LinkedList L) //L是无表头结点的单链表 +{ + if(L&&L->next) + { + Q=L; + L=L->next; + P=L; + while(P->next) + P=P->next; + P->next=Q; + Q->next=NULL; + } + return OK; +}//A +``` + +> (1)如果L的长度不小于2,则将首元结点删去并插入表尾。 + +**(2)** + +```c +void BB(LNode *s, LNode *q) +{ + p=s; + while(p->next!=q) + p=p->next; + p->next=s; +}//BB +void AA(LNode *pa, LNode *pb) +{//pa和pb分别指向单循环链表中的两个结点 + BB(pa, pb); + BB(pb, pa); +}//AA +``` + +> (2)将单循环链表拆成两个单循环链表。 + +## 二、算法设计题 + +##### 本章算法题目涉及的顺序表和线性链表的类型定义如下: + +```c +#define LIST_INIT_SIZE 100 +#define LISTINCREMENT 10 +typedef struct +{ + ElemType *elem; //存储空间基址 + int length; //当前长度 + int listsize; //当前分配的存储容量 +}SqList; //顺序表类型 + +// 注:此文档中,ElemType被定义为int类型。 + +typedef struct LNode +{ + ElemType data; + Struct Lnode *next; +}LNode, *LinkList; //线性链表类型 +``` + +### 2.10 指出以下算法的错误和低效(即费时)之处,并将它改写为一个既正确又高效的算法。 + +```c +Status DeleteK(SqList &a, int i, int k) +{ //本过程从顺序存储结构的线性表a中删除第i个元素起的k个元素 + if(i<1 || k<0 || i+k>a.length) + return INFEASIBLE; //参数不合法 + else + for(count=1; count=i+1; j--) + a.elem[j-1] = a.elem[j]; + a.length--; + } + return OK; +} //DeleteK +``` + +>错误有两处: +>(1)参数不合法的判别条件不完整。合法的入口参数条件为:(0(2)第二个for语句中,元素前移的次序错误。 +>         低效之处是每次删除一个元素的策略。 + +---------- + +### 2.11 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。 + +---------- + +### 2.12 设A=(a1,...,an)和B=(b1,...,bn)均为顺序表,A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A'=(x,z)和B'=(y,x,x,z))。若A'=B'=空表,则A=B;若A'=空表,而B'≠空表,或者两者均不为空表,且A'的首元小于B'的首元,则AB。试写一个比较A,B大小的算法(请注意:在算法中,不要破坏原表A和B,并且,也不一定先求得A'和B'才进行比较)。 + +---------- + +### 2.13 试写一算法在带头结点的单链表结构上实现线性表操作LOCATE(L,X)。 + +---------- + +### 2.14 试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)。 + +---------- + +### 2.15 已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将这两个链表连接在一起(即令其中一个表的首元结点连在另一个表的最后一个结点之后),假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法和时间复杂度。 + +---------- + +### 2.16 已知指针la和lb分别指向两个无头结点单链表中的首元结点。下列算法是从表la中删除自第i个元素起共len个元素后,将它们插入到表lb中的第j个元素之前。试问此算法是否正确?如有错,则请改正之。 + +```c +Status DeleteAndInsertSub (LinkedList la, LinkedList lb, int i, int j, int len) +{ + if(i<0 || j<0 || len<0) + return INFEASIBLE; + p=la; k=1; + while(knext; + k++; + } + q=p; + while(k<=len) + { + q=q->next; + k++; + } + s=lb; + k=1; + while(knext; + k++; + } + s->next=p; + q->next=s->next; + return OK; +} //DeleteAndInsertSub +``` + +### 2.17 试写一算法,在无头结点的动态单链表上实现线性表操作INSERT(L, i, b),并和在带头结点的动态单链表上实现相同操作的算法进行比较。 + +### 2.18 同2.17题要求。试写一算法,实现线性表操作DELETE(L, i)。 + +---------- + +### 2.19 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素),同时释放被删结点空间,并分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。 + +> 时间复杂度分析:最坏的情况是全部扫描完也没找到适合的元素,故时间复杂度与链表长度有关,为O(Length(L))。 + +### 2.20 同2.19题条件(递增有序排列),试写一高效的算法,删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同),同时释放被删结点空间,并分析你的算法的时间复杂度。 + +---------- + +### 2.21 试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2, ..., an)逆置为(an, an-1, ..., a1)。 + +---------- + +### 2.22 试写一算法,对单链表实现就地逆置。 + +---------- + +### 2.23 设线性表A=(a1, a2, ..., am),B=(b1, b2, ..., bn),试写一个按下列规则合并A,B为线性表C的算法,即使得 +######             C=(a1, b1, ..., am, bm, bm+1, ..., bn) 当m<=n时; +###### 或者     C=(a1, b1, ..., an, bn, an+1, ..., am) 当m>n时。 +### 线性表A,B和C均以单链表作存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。 + +---------- + +### 2.24 假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。 + +---------- + +### 2.25 假设以两个元素依值递增有序排列的线性表A和B分别表示两个集合(即同一表中的元素值各不相同),现要求另辟空间构成一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。试对顺序表编写求C的算法。 + +---------- + +### 2.26 要求同2.25题。试对单链表编写求C的算法。 + +---------- + +### 2.27 对2.25题的条件作以下修改,对顺序表重新编写求得表C的算法。 +###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同; +###### (2)利用A表空间存放表C。 + +---------- + +### 2.28 对2.25题的条件作以下两点修改,对单链表重新编写求得表C的算法。 +###### (1)假设在同一表(A或B)中可能存在值相同的元素,但要求新生成的表C中的元素值各不相同。 +###### (2)利用原表(A表或B表)中的结点构造表C,并释放A表中的无用结点空间。 + +---------- + +### 2.29 已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现,又在C表中出现的元素。试对顺序表编写实现上述操作的算法,并分析你的算法的时间复杂度(注意:同一表中各元素值可能相同)。 + +---------- + +### 2.30 要求同2.29题。试对单链表编写算法,请释放A表中的无用结点空间。 + +---------- + +### 2.31 假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。 + +---------- + +### 2.32 已知有一个单向循环链表,其每个结点中含三个域:pre,data和next,其中data为数据域,next为指向后继结点的指针域,pre也为指针域,但它的值为空(NULL),试编写算法将此单向循环链表改为双向循环链表,即使pre称为指向前驱结点的指针域。 + +---------- + +### 2.33 已知由一个线性链表表示的线性表中含有三类字符的数据元素(如:字母字符、数字字符和其他字符),试编写算法将该线性链表分割为三个循环链表,其中每个循环链表表示的线性表中均只含一类字符。 + +---------- + +##### 在2.34至2.36题中,“异或指针双向链表”类型`XorLinkedList`和指针异或函数`XorP`定义为: + +```c +typedef struct XorNode +{ + char data; + struct XorNode LRPtr; +} XorNode, *XorPointer; + +//无头结点的异或指针双向链表 +typedef struct +{ + XorPointer Left, Right; //分别指向链表的左端和右端 +} XorLinkedList; + +XorPointer XorP(XorPointer p, XorPointer q); //指针异或函数XorP返回指针p和q的异或(XOR)值 +``` + +##### 异或表 + +![异或表](_v_images/20181125021743781_1329.png) + +##### 异或指针链表的动态创建过程 + +![异或1](_v_images/20181125021828395_8351.png) +![异或2](_v_images/20181125021843504_17730.png) +![异或3](_v_images/20181125021854448_14854.png) +![异或4](_v_images/20181125021917117_7519.png) +![异或5](_v_images/20181125021939528_12633.png) +![异或6](_v_images/20181125022000822_29327.png) + +### 2.34 假设在算法描述语言中引入指针的二元运算“异或”(用“⊕”表示),若a和b为指针,则a⊕b的运算结果仍为原指针类型,且: +##### a⊕(a⊕b)=(a⊕a)⊕b=b +##### (a⊕b)⊕b=a⊕(b⊕b)=a +### 则可利用一个指针域来实现双向链表L。链表L中的每个结点只含两个域:data域和LRPtr域,其中LRPtr域存放该结点的左邻与右邻结点指针(不存在时为NULL)的异或。若设指针L.Left指向链表中的最左结点,L.Right指向链表中的最右结点,则可实现从左向右或从右向左遍历此双向链表的操作。试写一算法按任一方向依次输出链表中各元素的值。 + +### 2.35 采用2.34题所述的存储结构,写出在第i个结点之前插入一个结点的算法。 + +### 2.36 采用2.34题所述的存储结构,写出删除第i个结点的算法。 + +---------- + +### 2.37 设以带头结点的双向循环链表表示的线性表L=(a1, a2, ..., an),试写一时间复杂度为O(n)的算法,将L改造为L=(a1, a3, ..., an, ..., a4, a2)。 + +---------- + +### 2.38 设有一个双向循环链表,每个结点中除有pre,data和next三个域外,还增设了一个访问频度域freq。在链表被起用之前,频度域freq的值均初始化为零,而每当对链表进行一次LOCATE(L, x)的操作后,被访问的结点(即元素值等于x的结点)中的频度域freq的值便增1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点,试编写符合上述要求的LOCATE操作的算法。 + +---------- + +##### 在2.39至2.40题中,稀疏多项式采用的顺序存储结构SqPoly定义为 + +```c +typedef struct +{ + int coef; + int exp; +} PolyTerm; +typedef struct +{ //多项式的顺序存储结构 + PolyTerm *data; + int last; +} SqPoly; +``` + +### 2.39 已知稀疏多项式:![2.39](_v_images/20181125022414116_20977.png),其中n=em>em-1>…>e1≥0,ci≠0(i=1,2,...,m),m≥1。试采用存储量同多项式项数m成正比的顺序存储结构,编写求Pn(x0)的算法(x0为给定值),并分析你的算法的时间复杂度。 + +> 时间复杂度为O(n),只与顺序表长度有关。 +### 2.40 采用2.39题给定的条件和存储结构,编写求![2.40](_v_images/20181125022508237_15214.png)的算法,将结果多项式存放在新辟的空间中,并分析你的算法的时间复杂度。 + +---------- + +##### 在2.41至2.42题中,稀疏多项式采用的循环链表存储结构LinkedPoly定义为 + +```c +typedef struct PolyNode +{ + PolyTerm data; + struct PolyNode *next; +} PolyNode, *PolyLink; +typedef PolyLink LinkedPoly; +``` + +### 2.41 试以循环链表作稀疏多项式的存储结构,编写求其导函数的算法,要求利用原多项式中的结点空间存放其导函数(多项式),同时释放所有无用(被删)结点。 + +### 2.42 试编写算法,将一个用循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项或偶次项,并要求利用原链表中的结点空间构成这两个链表。 + +----------

      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 D8|R|_ literal 0 HcmV?d00001 diff --git a/VisualC++/image/VC04.png b/VisualC++/image/VC04.png new file mode 100644 index 0000000000000000000000000000000000000000..4708d7189cbf7888ffe02ccc8e7c232aa33c2f43 GIT binary patch literal 50745 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 literal 0 HcmV?d00001 diff --git a/VisualC++/image/VC05.png b/VisualC++/image/VC05.png new file mode 100644 index 0000000000000000000000000000000000000000..c890ec06cbb0e6cba5ddd522518886e6b14cdbc0 GIT binary patch literal 49899 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 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181124235659821_31062.png b/习题解析/01 绪论/_v_images/20181124235659821_31062.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f29c93ce0e1100c20b6aa1a2ec227e5e742694 GIT binary patch literal 18579 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 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181124235736015_5587.png b/习题解析/01 绪论/_v_images/20181124235736015_5587.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa4bd38f8a43e2603d087e47597e03188888275 GIT binary patch literal 8402 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 KMNUMnLSTXq1?Xr1 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125002335576_8701.png b/习题解析/01 绪论/_v_images/20181125002335576_8701.png new file mode 100644 index 0000000000000000000000000000000000000000..5dcdeca1cf2e929d4a501bccaa92bd70ec61f679 GIT binary patch literal 5459 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 WApK3#yGOtO4xrjN9e!|#74?5Jr@%x2 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125003411487_11601.png b/习题解析/01 绪论/_v_images/20181125003411487_11601.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f7c95dde457d4000bc13b4d3c814d1cbf82c7d GIT binary patch literal 12238 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%0DqEMDAd z)oif^R?6xc%NZfKxw&KXpKRPXW zVXko<*CY8;(eZom526Ck)m}=zL~|8HN$<~O=(tU9|Ndn4gBY{&_{qbSr9o?{W*j{^ z+gHx(OZgaB$skhfZyVpNwB@#pM*0ArDbznCL_@!ev=Zv?=a*G@+}+s;na03jwCES1 z#$t*zx3oMS9eQzA&I2{Eax9CLytNTA)eUYoHzGZ&PEr(%Q~XSEDHi;#fh~o1y7ZB0 z+Q3C;RYPX6DBbTWYh+`jt8kE7-@ra+4VyDPU%;fVEI{iVWm3-FP;m&hNOW70{WEtB zU5ms2l9J^!^#asCD2U^Sw&sL^#>JVRc(KE)@$JdHJj%=Wi*l6ejx3FEfo<6+vL*1u zg5mvhKlQdvBlQW`X3Fmd$1mw^U&F>1JxA0VxQ?u-Mlm(a7In?AtidYP(BtoZlRw_n z(%*n*+Tod@eLm<55^Oa^Qi$sb9x!7hXZ8dL#PN{+kG=Ih?C0%(rIF+f32n#m_W~cT z_Pjb7BZFbL%lP>Ct(El8CDt61N&>;trDBpovA4I*VK4kG2BYL+(})TUA}`uJ*; z-HpSoeNJ9zQt1!HsJi{^c4Nzf!5lY~vS#WwqwIU1B zY2kX3txpkV-ws(Ix>e0a|MT=|a!gz-wpmrzShg7G@9$459g6JA?V{1yE1kH%zjtxpM^H34LPr7$k zMjOsqWM2Oow!c)VJ7$O^iI${b`bK#r&c#%o}(?SkV>&0vN33n(*} z?Wp`$cqYq8LXUX!db_S-3NZ(bPqXSM%$v=bgN>rd7qP`s7;N(tj--f4=FEo3p0qE0 zI7iZu1TaVmc%vsh=7VZ2{lnlXS1D>7bQ$+f47=&1{#jHY>fEAQGxfZQkx^39Pu!s? zrvX$x$Cq82ei6$U&NOr7E!>lr5!|pqy<2ANMEokYd6v!YeSa z%3L{pwqdKP-}**x_INx>De0=Y`-Nax^U`}4>@n1N_9~aiE&0tT+~-56@Gq zJIj7s8dfz^Upnb+_7XY>`f%S*e0sLfdCM7(&7Oz(LU;!4Lr+J?-venx745*|{e@Wr z2i;k)OZjD-E)hE^y^j8|Tb!)(`)}tss$`CZ0!2zZmiZyybWq0|o8}gAW>0w8<87`^ ztWVK>hJQM%8@e{HP|->RCMeN)m<|M0G1a`bDTud-pQ=kPL9i&j#FqR_jixRR0Rx?)iBjS0;x`V~bcH}M2nvhNDtOq`Jet#ekG*GJV& zBDv*DddTjq_9=StiHN((ML-c#s6u6mF!wf#nZy9E#6p))z6I@PxFis6{#2Uf(;IMU z)4Z}fd~tQvRQFd>LIP{Um#T6p-gLpu=KZt*zMG@H;~{h{tt3zIw2K-(6Jtbrd#Blw z7naKNtcu;A(dTPV>ctQHH>0=L8{w=z`Clk?S5(}zkn18gSULeKc3@d>L|OlHj|r*l zGfN4ioKp@L8J1hd#dlz(VEN3nn@8VVY9^3Ozjo$_JQ5%N?DA&i5ceii*9Bj&wVg|KTj?+S_{_WocEuD|mf zr+obZejvm8RZf-d+K0O_ZQp8;U5+$(jq0nVzHXAYpxk-S8_(bXKFvwwc7A+4-83kz zejzcQzOk9&>E~Aw3}R<3?v5WG_~pxVyQk%=-*)PFchf#D|EI>1z~tphrFv3pUCD2f zQ}eWzoUo%rmbi#(jkM)IPj5m$91BiTr?3M-?KS|sUnt@ddqUaSO-c!jn3RTuSN&^c zU1Y4}1Ig~=1d~zK1eA=QnOdg6WYx^zCpz&)Jz@x95t6ismAFK1E1K4Boi5G~Gv`~> ztSsXegltikPE`FAbykRGS{@|yzaeR9=sG8N;o?(kx#1yZj77H}%$&T{N+@b$4yA}@ zny{kUnwMjRY@czB-r zE*jMovF{xFpJja)8lbAd-B9+!f`A5*4cpu_$<%t-)-sJKCq8cNi1c-Kii(SKoP7~o zmgYNPsl#_AVj^8HO{8%6ZH?tp+s*9kN;+{#(I5RgKn4Q(rGH8#SQ1_C|0?$iwZwCY zh@rFqjvc(^Az!j|;;XJMsW=OBn3><+T(pcO=3a;CnC-;~b8o~7qEXH`($t3sJLW)wejxjc+tmG$mBZEl zmpNxbRk;GP<4S{nZ+XrD6?UsO{Sv%e#RHN{5L7GT+##3Ov=m-f`=X@cEEq_lMk*|= zU$?i6<(APp#F{fKFV2D_EC9zszl(pY1Q3P&f0dT(3Wrbv!tCsuO}3Z?n38t-Gyv95 zGKhYx@K69C!}^K%zbI3<4&SHmS^yd0|C3(XqQzSQ0AffdqhKbVsiSzeam*jNe3QkR zLF#h;EjnmL3<54`1>x}UgfV|PvQbYe@8l?VgYURVUjbK_)|E39dxP$g1HckyuQ4Y* zBb`Fj$Lx>75J?~>jN~xyj7?ol2u9aS^H-Nhiz(+)m2kt7W@=TTn9yvZ&wVE`c-=dO zctFMClLe0-k###!5vP26@A4-5_A5aK$rU#Whf$n=Ydkn)NGs1nL?268Z$g$EMG~#E zM2HxVDpcl(t5ttP*Ecse*Vi-PKHlEmAtAly+|yH2OnoKm#J?p#hn}a5SUx|3h zhBlNEuV4R>P-0_hT6k7@5fb>=sqDl|AT(|oF{G;E(jTD>ny*z#V|PvqtunG&|KILF z&HKKK=>zZb^@75}3%~B_{?EF8wVzNXvgLF#lK45TH9+6W67V$MjBnFq=8DO{-ndU= z6WyNhI)^K>*>cumVVWtw2-Cao(|w#L9H>wd)cOkZ8A;_!^O;xIHPD#j5j>8+{iyLz zSt&>LLplH}J4kEIps)jp>^aFIQ%+7?BF4z+)QWrl{`4x4FQ?{3(K8kmg6$N%e2+L4 za(3E4gMof6^wy7uazGteJgaYcvMTb#R5Jxt!G}vo?f)gwW&Ft@Eu8{CLD$+@B)X-! zd5*$2=8_lV&13fSmn0-9L8BX6X%10jiOkS!eZ^=WCKbqNF|hn=*S*1-hb+RCDM=sk zgH*ec`RHXWRL*fNSgM`~EP~WX4i1oB4Hymu{e6VNV0(LZ#rCQG7eg|vbi2qyN7MW` z{e8DU^3a>5uOnU`?jXWHy?RSf_o2(VUb+5oydw$c8L+eF#^ZZh*BT(1ZMqPE1E+Xb zeNp;ok&%DZ!wv*WSX(no6}WN|Z9HX4??o+9udD)kQf;lT$FP9NR*hviKk8)C=HuD) zPCGlgdyqWJW*R>GA)r$PMCuHg$o{LIc~k?1h*?y#$NL$N4B_d18YNBD7BIaF;NPnW z9&Eaay{qG6wX2^>~7D+%7CKMH+sYe1(aGb)Dwi*mPDv*zMq8gl3K)fiiI! zM*xFX6PAgqdGTrUmE=1ek|?A@pcxwNK*CJPriNBt$d`+;E(Il1>eE}V94A)?LL@1= ze!q<#^M2;7t+qJjAMpaUmKeEUL^MCjjMX^v!K#7^2jI3Pyb?c22tT{0y&Vl|I%P>h zSM8!k=v$<>Xr38Q?D3sEy}BPfzqpv5p1!uqr~yLKeNmQAT30Gb4+SvFHLjm%{^pm;f+sxp1kvh-Jv8Y9Cq&`5H}}z7!`hn_vZ09CG7J8hZy~`3d z{LQ+5ZwLDr0|>1I9cFYw$=Xz-p)7~o&>3l_JsN`o)Q~_cR|ty1T{gS`p30Yds+?q7 zfXBQ~)0!_bzN($(UR!G|*m{V?9_FwIX{ zL+sWbNub6QO&p_)Wl~$+E9>)U#GyvNb*b9_5Tzs6rlbF0|MB&JpPAq@S>dig%dQWN zjh|Um%|p)y^-F+A3z(KjSA@3gYP+u|`KPB0^<%P0tdzCFPm3;@aP2n2R(}#V7j#Pw zPs5CH7kSk#CnhJO1r8$9gTfG`(mr_x{d>9d@86&$4buloT|m-VCc$R1NK+}MC%QzUO2&ITxDqnt^It>8-MBE-o(otX?T%C+L#U0!Jn+*pOGI_DU&pi_J&>3cEX z0H#pGXRj!IGqkEoMO~FuW+qIU`!%=m{N`zTbab@cV+)RC5z84e9Iz=I1r%pf1U6~8 z&&lKa!Db~l`a1b<7LTpGSNHK$bFFxmj9FBq-$c3^UI&#EvCajnJX z|J7Ts?98l*sPr-Q{MMydk^)qj1_1DV{$&A3VclI_<0F`U-4@%9E%z5&z{}y6V%t4H zL?7-o7KBU-q9pB0z)lfJx3c?8E^Wb`stXs|+VGyL%K0tW<~7^n#*eW7G&axhYV`Sr zPp<@5jhSr4jR7Yko7 z_)#?&$T~53wsfJT`JD7lSV%A7z=AG+e?AO_{Tal+VnJLW;1_Ei;9BUd6#{Am2a8#B zdGtLfJ?%^b;muduxr}Eh27YWyg5}=Tp97zlqg5}vub3j7oVR7z&QP=bFfkb7;jCE5 zBX}ORI^z8CTFPb=#ms`#N!s&JNeY!qRk%5`?v9U*X#B+#9wK9FlSNKkT)exd=SN|N zA5tKgnws(s4dq5S`k^1%G|q6w2+l~0sI&=!e*fwY`DNg+>D#t7@pGUp(YfWMPTL0* z?|Cpg3YR85;^wUI)!T3ivO0rZECM;7S7#3K#s84G1LqBy_QLlTK}JYb>GJY2o~KW{ zZtV%V4yL6MPY(x$4m)UtK={L2yT|ink z>GawM^6ZRu)j2m+{4y`9 zWqgp)Rbksbks(hftq}mLRMs`->2-2A?)EWk6VnZG#|=wOZrm! zVuqTPe1)`mvztl%0telwoH-=f; z=cQJ{&gDBAXnhoAY)Jpd&hl5_@b~Fzylw0tq+pVHmrcbp_$f_VH#wUmO+X|smiRsO z^;OJ*6k-*pm1_K(${~#_^1z7X%(R5lj9#v+n8d!J{pZ;p#GL;(+;$~sFzxg`7H&w$ z2<|*yBP)`HaP56PC~ufjDPW7}LOA{mKM6f*;b{5jJ32WziLAn4`V<)hSpTH|v%Sxl zb831zWGlPyiEaN0`H)w|{+Mbb_GwZF{Z@sAJg&bA%z*Xe&gJIVZx(u|D_|SXEdRa@ z?8*=LY_IG8_rKkNt@~O`v)9(o_J$4l#4iWKKAxC%DAS@S2jQdNmO^8YO+351C+%R|c$Qj5M&1jzyLVeP zxk4HcGrzHO_LEouO3(2nl<=pxiZhzTGVhSb;1^g32DfVaHlvfged7^i0Ex-_kLHeG z%Kt88!v25d7Tm=KI|$`X+9x3m0vtd;MU_MHaBDHJUnun=y;}qsE|QQwU84YmQR_}8 zp^*g|*=qNjP>qJH0hH7Z#ny1QX8O(m0Ar>rYL?X@l#{iTs3HWWDg9OZi{F_2BE>$7 z?bwqK8e7l8bcm3~I3pt?6%khd&!0+>iQgM%5oleExfK}Cf9C`Vu)hT?VWR?gRpgc{ z{cTgE4{2wR(W)<6fwh;RT`MHC4k(pywl&`iPst2<7OvBx46C9y2fS1NnS^Wj03AO2XWIhP9n^1Vc!yeSj~t@*`^fk6TN zj;m@idtV16O-<*BzYt3^saEE@8-y2NCH}V5=x20$1`sPL|Gj}}V%swioB+frL8iEn zIVe5?(yl9%E@VV%p08)je}k7|U`!SnZA#Az^%_52RU$O0O;VORiW)^JJ$*y*PzSd2 z=er;C1HI(wGEHR--ms<5*e^2tM6l7ZJbCEYUA{S+!A1_)`QvXv(Ro*d6~faf<}-1y zEWWh!j)*tS_aG21ZTBZkN6y50Gl&q)LPM@WW@&{>JEpUyl8krYQy3FrmEbpsf#6`Z?LRJis|7X6j1VMZe3X?wA5YldjMc19 z$eaBe^lxIqL@gmk@`$AqLAv*i#;1Pb`3E6eJk(lgJzhW{*q9TGZh3hb8YL*F?g!|h_m=wcir5Jp&F{)- zPDC58;7Y_eQSP=m5&vnWDS=yD!{L|jj($!YID6(ttIJFuoVtZuecrrQ2^m`Z9RhRe ze9Fy6y1D;`;(3<^m&>EbDE!UDmQJyuFcr~%OyCFp8bqiAN-e_yYaa!=#7)T#L@ttnBbok z*WzHZ<0pSKe^Gq#M)s0!^4A)RwS0qIZ1@^EbK@TRtG7y8v1*-FG%-{la2~}v*$C8u zk3R0vW2-laW#}!OoNjk}d;9qK`0_IK-}44OU5-|26|!%oU7xNr`(JEgBZ)*W9z%(D zyl2bCakTP^gMd%Iqxa~%RNz%{X&ynGYr9UJ$Cl{7*bT^ka5lE+O9Y0gdP>2YkGhOg z{=w%!s62#&;r4#y89qiH;j9?qI$cXjN9sCS`e}P-H2L?|R>=LvKl$BFo=K}f!ih!& zqw0wiR`MD07Zc=x9xDukfG!d;dGS^equT)x3IDT2S3cIHHg79!2i8VS2xF;26FR{AOMYLzG8?6W(E3HA0OYh=BK!UaP6Bey*qm(>r3g7vETLWRl>9PNqOByVIhP0 zUx^%vWmTo+w#Yyfo)vUDOY&l{8D9X_&!iZ+|0jl%XSywPu)QsNShpk6Hdx01jI2p> zYhDz#j@{h7w2mXUPjyfe+o&@}LXi&|)JV<F7e^1r5m(1HIPDhI^$q$;u^@vRXzr#Za+JB*E7GZTu%P-)u%PsAqvtp^Q7K3JH)!vK^Z#BY)i z^HJE+?{DRPzB1F+x6+PJt{mGojl7TFBB9+1yU}C@Ze4G|JCLcQvjd5;>Tb(7&&<`^ zz2GK~*q^Saq3?jvq;>@_KjiPye)(6YMe}ia1T4m}DixWH0Y1oIQX^sD8Ub{drI;xN4)0U@BUK!>8UxYu*S**Wmr zlpl-@b@2Sc!gl7+#v>+k;y!#k#+%%wu|t|);iLS;I}(5JwEDC5F`q(+4hxk21AmXK z;C+awwtpHkU#8<9Qi}xq*4*=u9NXg0R14^@Hbf!4l6$ICXt$BPPa&uaB8hL3cK$2y z(k1yu^2rKb8?98|MsU3)=S+N~%#^Gz5J9Y`z84E5JNrL>T+Hau_GfqZhl zrcC|JRP&i5GaPTyyJ0FiWwtkEhyF9Bku&LDrzd!$ytB;Uqc!s`v3p{ literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125003506946_12124.png b/习题解析/01 绪论/_v_images/20181125003506946_12124.png new file mode 100644 index 0000000000000000000000000000000000000000..5421a4c47476900274b9d43ea2712075b4e1dac7 GIT binary patch literal 12258 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 literal 0 HcmV?d00001 diff --git a/习题解析/01 绪论/_v_images/20181125003527776_6872.png b/习题解析/01 绪论/_v_images/20181125003527776_6872.png new file mode 100644 index 0000000000000000000000000000000000000000..970db8ff3e0c389717e418ad3bfe379d01c62c6f GIT binary patch literal 15359 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ǰdc?MOBpK^wpv@?YWn&-O_N!%mYeB~Ak;^Qs_O~M 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

      tB|@M&@v)dbgbVlt_IU_>nuoOO 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