From 17bcf23a701cdeef0fc2587d849a6679ed16ec0c Mon Sep 17 00:00:00 2001 From: linyongji Date: Mon, 1 Feb 2021 18:51:49 +0800 Subject: [PATCH] no message --- Alogrithm/.vs/Alogrithm/v16/.suo | Bin 118272 -> 141824 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 5 +++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 15 +++++++ Alogrithm/Alogrithm/Alogrithm.vcxproj.user | 4 +- Alogrithm/Alogrithm/config/25_Partition.ini | 28 +++++++++++++ Alogrithm/Alogrithm/include/25_Partition.h | 9 ++++ Alogrithm/Alogrithm/include/Common.h | 6 +++ Alogrithm/Alogrithm/src/25_Partition.cpp | 39 ++++++++++++++++++ Alogrithm/Alogrithm/src/Common.cpp | 11 +++++ Alogrithm/Alogrithm/src/main.cpp | 13 +++--- Alogrithm/UnitTest/UnitTest.cpp | 29 ++++++++++++- Alogrithm/UnitTest/pch.h | 1 + 12 files changed, 152 insertions(+), 8 deletions(-) create mode 100644 Alogrithm/Alogrithm/config/25_Partition.ini create mode 100644 Alogrithm/Alogrithm/include/25_Partition.h create mode 100644 Alogrithm/Alogrithm/include/Common.h create mode 100644 Alogrithm/Alogrithm/src/25_Partition.cpp create mode 100644 Alogrithm/Alogrithm/src/Common.cpp diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index 0d6b62671cd2abad719d04fc3196b866736ee970..2105ed4cdd8e6b46edc98ae612ea4fc8d1e47ae5 100644 GIT binary patch delta 15313 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 diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj b/Alogrithm/Alogrithm/Alogrithm.vcxproj index 7a3fa05..13cd0b4 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj @@ -157,6 +157,7 @@ + @@ -165,6 +166,7 @@ + @@ -184,6 +186,7 @@ + @@ -192,6 +195,7 @@ + @@ -210,6 +214,7 @@ + diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters index 08d2938..1adf8b7 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters @@ -99,6 +99,12 @@ 源文件\src + + 源文件\src + + + 源文件 + @@ -173,6 +179,12 @@ 头文件\include + + 头文件\include + + + 头文件 + @@ -247,5 +259,8 @@ 资源文件\config + + 资源文件\config + \ No newline at end of file diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.user b/Alogrithm/Alogrithm/Alogrithm.vcxproj.user index 88a5509..966b4ff 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.user +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.user @@ -1,4 +1,6 @@  - + + true + \ No newline at end of file diff --git a/Alogrithm/Alogrithm/config/25_Partition.ini b/Alogrithm/Alogrithm/config/25_Partition.ini new file mode 100644 index 0000000..35e0047 --- /dev/null +++ b/Alogrithm/Alogrithm/config/25_Partition.ini @@ -0,0 +1,28 @@ +[Test1] +Input1=1,4,3,2,5,2 +Input2=3 +Output=1,2,2,4,3,5 +[Test2] +Input1=1 +Input2=1 +Output=1 +[Test3] +Input1= +Input2=0 +Output= +[Test4] +Input1=1,2,3,4,5 +Input2=2 +Output=1,2,3,4,5 +[Test5] +Input1=3,4,5,2,1,3,11111,234,45221,555,61 +Input2=255 +Output=3,4,5,2,1,3,234,61,11111,45221,555 +[Test6] +Input1=2,2,2,2,2,2,2 +Input2=2 +Output=2,2,2,2,2,2,2 +[Test7] +Input1=2021,2,1,15,16,31 +Input2=10 +Output=2,1,2021,15,16,31 \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/25_Partition.h b/Alogrithm/Alogrithm/include/25_Partition.h new file mode 100644 index 0000000..3af5263 --- /dev/null +++ b/Alogrithm/Alogrithm/include/25_Partition.h @@ -0,0 +1,9 @@ +#pragma once +#include +struct ListNode +{ + int val; + struct ListNode* next; +}; +struct ListNode* Partition(struct ListNode* head, int x); +void CreatListNode(int *arr, int len, struct ListNode* head); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/Common.h b/Alogrithm/Alogrithm/include/Common.h new file mode 100644 index 0000000..26ab26d --- /dev/null +++ b/Alogrithm/Alogrithm/include/Common.h @@ -0,0 +1,6 @@ +#pragma once +#include +#include +#include +char* GetAuthor(); +char* GetLanguage(); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/25_Partition.cpp b/Alogrithm/Alogrithm/src/25_Partition.cpp new file mode 100644 index 0000000..5b72d04 --- /dev/null +++ b/Alogrithm/Alogrithm/src/25_Partition.cpp @@ -0,0 +1,39 @@ +#include "../include/25_Partition.h" +#include +//Ŀһһضֵ xзָʹС x Ľڵ +// ڴڻ x Ľڵ֮ǰӦÿڵijʼλá +//˼·,ҵÿڵvalضֵxȽ +// һlargeضֵxĽڵ㣻һsmallضֵxСĽڵ +// Ժlargeӵsmallĺ棬smallҪĽ + +struct ListNode* Partition( struct ListNode* head, int x) { + struct ListNode* small = (struct ListNode*)malloc(sizeof(struct ListNode)); + struct ListNode* large = (struct ListNode*)malloc(sizeof(struct ListNode)); + struct ListNode* smallHead = small; //smallͷ + struct ListNode* largeHead = large; //largeͷ + while (NULL != head) { //head + if (head->val < x) { //ѵǰڵֵóxȽ,Сx + small->next = head; //ѵǰڵӵsmall + small = small->next; //smallָһڵ㣬Ϊһڵ׼ + } + else { //x + large->next = head; //ѵǰڵӵlarge + large = large->next; //smallָһڵ㣬Ϊһڵ׼ + } + head = head->next; //ָһڵ + } + large->next = NULL; + small->next = largeHead->next; //largeӵsmall + return smallHead->next; //small +} +//飬ڵ㸳ֵ +void CreatListNode(int *arr, int len, struct ListNode* head) { + head->val = arr[0]; + for (int i = 1; i < len; i++) { + head->next = (struct ListNode*)malloc(sizeof(struct ListNode)); + head = head->next; + head->val = arr[i]; + } + head->next = NULL; + +} \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/Common.cpp b/Alogrithm/Alogrithm/src/Common.cpp new file mode 100644 index 0000000..278377d --- /dev/null +++ b/Alogrithm/Alogrithm/src/Common.cpp @@ -0,0 +1,11 @@ +#include "../include/Common.h" + +char* GetAuthor() { + char* Author = (char*)malloc(sizeof(char)*10); + Author = "Author:"; + return Author; +} +char* GetLanguage() { + static char Language[] = "Language:C"; + return Language; +} \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/main.cpp b/Alogrithm/Alogrithm/src/main.cpp index dca5417..80e0845 100644 --- a/Alogrithm/Alogrithm/src/main.cpp +++ b/Alogrithm/Alogrithm/src/main.cpp @@ -1,9 +1,10 @@ -#include -#include"../include/24_LengthOfLongestSubstring.h" - +#include "../include/Common.h" +#include int main() { - char s[] = "lyj18391569527@163.com"; - printf("%d\n", LengthOfLongestSubstring(s)); - + char *Language = GetLanguage(); + char* Author = GetAuthor(); + printf("%*s\n", 40,Author); + printf("%*s\n", 40,Language); + } diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp index f1acc43..613d2e2 100644 --- a/Alogrithm/UnitTest/UnitTest.cpp +++ b/Alogrithm/UnitTest/UnitTest.cpp @@ -26,7 +26,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_22 "../Alogrithm/config/22_Rotate.ini" #define FileName_23 "../Alogrithm/config/23_RestoreIpAddresses.ini" #define FileName_24 "../Alogrithm/config/24_LengthOfLongestSubstring.ini" - +#define FileName_25 "../Alogrithm/config/25_Partition.ini" @@ -481,4 +481,31 @@ namespace UnitTest } } }; + TEST_CLASS(UnitTest_25) + { + TEST_METHOD(TestMethode1) + { + char Section_Name[100][10] = { 0 }; + int Section_Count = CalcCount(100, Section_Name, FileName_25); + int input_count = 0, output_count = 0, returnSize = 0; + int* input_value; + int* output_value; + CString input1, input2,output; + for (int i = 0; i < Section_Count; i++) { + GetPrivateProfileString(Section_Name[i], "Input1", " ", input1.GetBuffer(200), 200, FileName_25); + GetPrivateProfileString(Section_Name[i], "Input2", " ", input2.GetBuffer(20), 20, FileName_25); + GetPrivateProfileString(Section_Name[i], "Output", " ", output.GetBuffer(200), 200, FileName_25); + input_value = str_device(input1, &input_count); + output_value = str_device(output, &output_count); + struct ListNode* head = (struct ListNode*)malloc(sizeof(struct ListNode)); + CreatListNode(input_value,input_count,head); + struct ListNode* returnHead = Partition(head, atoi(input2)); + Assert::AreEqual(input_count, output_count); + for (int i = 0; i < input_count; i++) { + Assert::AreEqual(returnHead->val, output_value[i]); + returnHead = returnHead->next; + } + } + } + }; } diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h index dbe2c0c..7700db7 100644 --- a/Alogrithm/UnitTest/pch.h +++ b/Alogrithm/UnitTest/pch.h @@ -37,6 +37,7 @@ #include"../Alogrithm/include/22_Rotate.h" #include"../Alogrithm/include/23_RestoreIpAddresses.h" #include"../Alogrithm/include/24_LengthOfLongestSubstring.h" +#include"../Alogrithm/include/25_Partition.h" int CalcCount(int n, char(*str)[10],const char *FileName);