diff --git a/chapter_array_and_linkedlist/list.md b/chapter_array_and_linkedlist/list.md index 533b9eeee..93c404ee5 100755 --- a/chapter_array_and_linkedlist/list.md +++ b/chapter_array_and_linkedlist/list.md @@ -1947,6 +1947,10 @@ comments: true /* 中间插入元素 */ void insert(myList *list, int index, int num) { assert(index >= 0 && index < size(list)); + // 元素数量超出容量时,触发扩容机制 + if (size(list) == capacity(list)) { + extendCapacity(list); // 扩容 + } for (int i = size(list); i > index; --i) { list->nums[i] = list->nums[i - 1]; } diff --git a/chapter_computational_complexity/iteration_and_recursion.md b/chapter_computational_complexity/iteration_and_recursion.md index cd0373001..9a7659aae 100644 --- a/chapter_computational_complexity/iteration_and_recursion.md +++ b/chapter_computational_complexity/iteration_and_recursion.md @@ -162,7 +162,7 @@ status: new int forLoop(int n) { int res = 0; // 循环求和 1, 2, ..., n-1, n - for (int i = 1; i <= n; ++i) { + for (int i = 1; i <= n; i++) { res += i; } return res; @@ -437,9 +437,9 @@ status: new // 循环求和 1, 2, 4, 5... while (i <= n) { res += i; - i += 1; // 更新条件变量 - res += i; - i *= 2; // 更新条件变量 + // 更新条件变量 + i += 1; + i *= 2; } return res; } @@ -759,11 +759,10 @@ status: new // n * n 为对应点数量,"(i, j), " 对应字符串长最大为 6+10*2,加上最后一个空字符 \0 的额外空间 int size = n * n * 26 + 1; char *res = malloc(size * sizeof(char)); - // 循环 i = 1, 2, ..., n-1, n - for (int i = 1; i <= n; ++i) { + for (int i = 1; i <= n; i++) { // 循环 j = 1, 2, ..., n-1, n - for (int j = 1; j <= n; ++j) { + for (int j = 1; j <= n; j++) { char tmp[26]; snprintf(tmp, sizeof(tmp), "(%d, %d), ", i, j); strncat(res, tmp, size - strlen(res) - 1); diff --git a/chapter_introduction/what_is_dsa.md b/chapter_introduction/what_is_dsa.md index f20f333c5..ef7f745bc 100644 --- a/chapter_introduction/what_is_dsa.md +++ b/chapter_introduction/what_is_dsa.md @@ -31,7 +31,7 @@ comments: true - 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及用于操作数据的方法。 - 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 -- 算法通常可以基于不同的数据结构进行实现,并往往有对应最优的数据结构,但最终执行效率可能相差很大。 +- 算法通常可以基于不同的数据结构进行实现,但执行效率可能相差很大,选择合适的数据结构是关键。 ![数据结构与算法的关系](what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png) diff --git a/chapter_preface/suggestions.md b/chapter_preface/suggestions.md index f4473210f..c84c95acb 100644 --- a/chapter_preface/suggestions.md +++ b/chapter_preface/suggestions.md @@ -137,7 +137,14 @@ comments: true === "Rust" ```rust title="" + /* 标题注释,用于标注函数、类、测试样例等 */ + // 内容注释,用于详解代码 + + /** + * 多行 + * 注释 + */ ``` === "C" diff --git a/chapter_stack_and_queue/queue.md b/chapter_stack_and_queue/queue.md index 3a8476801..18487bd6a 100755 --- a/chapter_stack_and_queue/queue.md +++ b/chapter_stack_and_queue/queue.md @@ -1660,7 +1660,7 @@ comments: true } /* 判断队列是否为空 */ - empty() { + isEmpty() { return this.#queSize === 0; } @@ -1689,7 +1689,7 @@ comments: true /* 访问队首元素 */ peek() { - if (this.empty()) throw new Error('队列为空'); + if (this.isEmpty()) throw new Error('队列为空'); return this.#nums[this.#front]; } @@ -1730,7 +1730,7 @@ comments: true } /* 判断队列是否为空 */ - empty(): boolean { + isEmpty(): boolean { return this.queSize === 0; } @@ -1759,7 +1759,7 @@ comments: true /* 访问队首元素 */ peek(): number { - if (this.empty()) throw new Error('队列为空'); + if (this.isEmpty()) throw new Error('队列为空'); return this.nums[this.front]; } diff --git a/chapter_stack_and_queue/stack.md b/chapter_stack_and_queue/stack.md index 459dd5a40..47b1076b5 100755 --- a/chapter_stack_and_queue/stack.md +++ b/chapter_stack_and_queue/stack.md @@ -1386,7 +1386,7 @@ comments: true } /* 判断栈是否为空 */ - empty() { + isEmpty() { return this.#stack.length === 0; } @@ -1397,13 +1397,13 @@ comments: true /* 出栈 */ pop() { - if (this.empty()) throw new Error('栈为空'); + if (this.isEmpty()) throw new Error('栈为空'); return this.#stack.pop(); } /* 访问栈顶元素 */ top() { - if (this.empty()) throw new Error('栈为空'); + if (this.isEmpty()) throw new Error('栈为空'); return this.#stack[this.#stack.length - 1]; } @@ -1430,7 +1430,7 @@ comments: true } /* 判断栈是否为空 */ - empty(): boolean { + isEmpty(): boolean { return this.stack.length === 0; } @@ -1441,13 +1441,13 @@ comments: true /* 出栈 */ pop(): number | undefined { - if (this.empty()) throw new Error('栈为空'); + if (this.isEmpty()) throw new Error('栈为空'); return this.stack.pop(); } /* 访问栈顶元素 */ top(): number | undefined { - if (this.empty()) throw new Error('栈为空'); + if (this.isEmpty()) throw new Error('栈为空'); return this.stack[this.stack.length - 1]; }