From 7f1f77d61b4baee6438254fa5ad548c61d83285d Mon Sep 17 00:00:00 2001 From: MasonCodingHere <38603431+MasonCodingHere@users.noreply.github.com> Date: Tue, 1 Oct 2024 22:24:41 +0800 Subject: [PATCH] Update some contents of String.h --- data-structures/Array/README.md | 8 +++++++- data-structures/Array/__test__/test_Array.cpp | 1 + data-structures/Array/include/String.h | 20 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/data-structures/Array/README.md b/data-structures/Array/README.md index fad5985..237fd38 100644 --- a/data-structures/Array/README.md +++ b/data-structures/Array/README.md @@ -1,5 +1,11 @@ # 数组 +## 静态数组 + ![数组](./assets/array.png) -![Vector](./assets/vector.png) \ No newline at end of file +## 动态数组 + +![Vector](./assets/vector.png) + +## 字符串 \ No newline at end of file diff --git a/data-structures/Array/__test__/test_Array.cpp b/data-structures/Array/__test__/test_Array.cpp index b3d1c8d..82004d9 100644 --- a/data-structures/Array/__test__/test_Array.cpp +++ b/data-structures/Array/__test__/test_Array.cpp @@ -2,6 +2,7 @@ #include #include "../include/Array.h" #include "../include/Vector.h" +#include "../include/String.h" void test_array(){ std::cout << "*****Array Test Begin*****" << std::endl; diff --git a/data-structures/Array/include/String.h b/data-structures/Array/include/String.h index 067c400..97c4a49 100644 --- a/data-structures/Array/include/String.h +++ b/data-structures/Array/include/String.h @@ -6,12 +6,21 @@ class String{ public: String(); + String(const String& str); + String(const String& str, size_t pos, size_t len); + String(const char* s); + String(size_t n, const char c); + String& operator=(const String& str); + String& operator=(const char* s); + String& operator=(char c); ~String(); public: // Capacity bool empty() const; size_t size() const; size_t length() const; + size_t capacity() const; + void reserve(const size_t n); void resize(size_t n); void clear(); void shrink_to_fit(); @@ -24,6 +33,17 @@ class String{ String& operator+=(const String& str); String& operator+=(const char *s); String& operator+=(const char c); + String& append (const String& str); + String& append (const String& str, const size_t subpos, const size_t sublen); + String& append (const char* s); + String& append (const char* s, const size_t n); + String& append (const size_t n, const char c); + void push_back (const char c); + String& insert (const size_t pos, const String& str); + String& insert (const size_t pos, const String& str, const size_t subpos, const size_t sublen); + String& insert (const size_t pos, const char* s); + String& insert (const size_t pos, const char c); + String& insert (const size_t pos, const size_t n, const char c); private: Vector _data; };