东南大学C++课程介绍:从起泡排序到面向对象编程

需积分: 50 26 下载量 4 浏览量 更新于2024-08-18 收藏 4.92MB PPT 举报
"起泡排序举例-东南大学C++" 起泡排序是一种简单的排序算法,它的基本思想是通过不断交换相邻的逆序元素,使得较大的元素逐渐“沉”到序列的末尾,就像水底的气泡一样逐渐上浮。在东南大学C++课程中,起泡排序被用作讲解排序算法的例子。 对于一个无序序列,如8 5 2 4 3,起泡排序的过程可以分为多趟进行。在每趟排序中,会比较相邻的两个元素,如果前一个元素大于后一个,则交换它们的位置。经过第一趟排序,序列的最大元素会被移动到末尾;接着,同样的过程会在剩下的元素中重复,直到整个序列变得有序。 以下是起泡排序的具体步骤: - **初始状态**: 8 5 2 4 3 - **第一趟排序**: 5 2 4 3 8,最大元素8下沉到末尾 - **第二趟排序**: 2 4 3 5 8,第二大的元素5下沉 - **第三趟排序**: 2 3 4 5 8,第三大的元素4下沉 - **第四趟排序**: 2 3 4 5 8,序列已完全有序 在C++中实现起泡排序,通常会包含一个循环,外层循环控制趟数,内层循环用于两两比较并交换元素。课程中可能还会涉及到其他C++的基础概念,如基本数据类型、控制结构、函数、类和对象等。 - **C++基本概念**: - **基本数据类型**:包括int、char、float、double等,用于存储不同类型的数据。 - **表达式**:如算术表达式、逻辑表达式,用于计算和决策。 - **输入/输出**:使用cin和cout进行标准输入输出操作。 - **控制结构**:包括顺序结构、选择结构(if-else)、循环结构(for、while)等,用于编写流程控制。 - **自定义数据类型**:通过struct或class定义新的数据结构。 - **函数**: - **函数定义与使用**:编写函数来封装代码,提高可读性和复用性。 - **内联函数**:优化性能,减少函数调用带来的开销。 - **默认形参值**:允许函数在不提供所有参数的情况下被调用。 - **函数重载**:同一函数名可以对应多个不同的函数实现,根据参数列表区分。 - **函数模板**:泛型编程,创建可处理不同数据类型的函数。 - **面向对象编程**: - **面向对象思想**:基于对象和类的概念,强调数据封装、继承和多态。 - **类和对象**:类是对象的蓝图,对象是类的实例。 - **构造函数**:用于初始化新创建的对象。 - **析构函数**:对象生命周期结束时自动调用,用于清理资源。 - **类的组合**:通过成员变量或引用将不同类的对象组合在一起。 - **类模板**:泛型类,允许创建处理多种数据类型的类。 这些内容构成了C++学习的基础,通过深入学习和实践,学生将能够掌握程序设计的基本技能,为后续的面向对象编程和更复杂的软件开发打下坚实的基础。