C14种常见的算法与数据结构数组Array依据分配内存的方式。数组属于狭义的顺序表可分为静态数组、动态数组。链表Linked List单链表、双向链表、循环链表等。常见的有带头结点的单链表、带头结点的双向循环链表。栈Stack顺序栈(共享栈等)链式栈。队列Queue顺序队列(循环队列……、链式队列(双端队列……)。树Tree满二叉树、完全二叉树、线索二叉树、二叉搜索树Binary Search Tree、平衡二叉树AVL Tree、红黑树Red-Black Tree、哈夫曼树等。堆Heap大根堆、小根堆等(用于堆排序)。图Graph图的遍历、最短路径、最小生成树等。哈希表Hash Table哈希函数、哈希冲突解决(开放地址处理法等等。字符串String字符串匹配、字符串压缩等。向量Vector字典Dictionary排序算法如冒泡排序、插入排序、选择排序、快速排序、归并排序等。搜索算法如线性搜索、二分搜索等。这些算法和数据结构在不同的应用场景中都有广泛的应用。例如数组和链表常用于存储和操作线性数据栈和队列常用于实现函数调用和任务调度树和图常用于表示和处理关系型数据哈希表常用于快速查找和插入数据字符串常用于处理文本数据向量常用于动态数组的操作字典常用于存储键值对数据。纠正· 数组 向量本质一回事。向量就是动态扩容的数组属于顺序表。· 哈希表 字典完全等价。字典就是哈希表Map的别名。· 栈 队列属于操作受限的线性表底层既可用数组实现顺序也可用链表实现链式。岗位JD编写不严谨。ADT(abstract data type)应该是6大类才更为主流。break与continue的用法在 C 中break和continue是用于控制循环结构的关键字。breakbreak关键字用于立即退出循环结构程序将继续执行循环后面的语句。它可以用于for、while和do-while循环。例如for (int i 0; i 10; i) { if (i 5) { break; } std::cout i ; }在上述例子中当i的值等于 5 时break语句被执行循环立即终止输出结果为0 1 2 3 4 。continuecontinue关键字用于跳过本次循环的剩余部分直接开始下一次循环。它也可以用于for、while和do-while循环。例如for (int i 0; i 10; i) { if (i 5) { continue; } std::cout i ; }在上述例子中当i的值等于 5 时continue语句被执行本次循环的剩余部分即std::cout i 语句被跳过直接开始下一次循环输出结果为0 1 2 3 4 6 7 8 9 。