C++程序设计基础-谭浩强版:元素序号与数组排序
需积分: 3 185 浏览量
更新于2024-08-24
收藏 8.66MB PPT 举报
"该资源是一份关于C++程序设计的教程,由谭浩强编著,内容涵盖了C++语言的基本概念、发展历程以及C语言的主要特点。教程中还提及了程序设计的一些基本技巧和注意事项,特别关注了数组排序的实现方法。"
在C++程序设计中,了解基本的编程规则至关重要。此教程的描述提到了一个用于数组排序的代码片段,这是经典的冒泡排序算法。冒泡排序是一种简单的排序算法,通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个排序算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序的代码如下:
```cpp
for (j=0; j<n-1; j++) // 外层循环,控制需要排序的轮数
for (i=0; i<n-1-j; i++) // 内层循环,每轮比较n-i-1次
{ if (a[i]>a[i+1]) // 如果当前元素大于下一个元素
{ t=a[i]; // 临时变量存储当前元素
a[i]=a[i+1]; // 将下一个元素替换到当前位置
a[i+1]=t; // 将临时变量放到下一个元素的位置
}
}
```
这段代码中,`j` 和 `i` 是控制循环的变量,`n` 是数组的元素个数。外层循环`j`负责控制排序的轮数,每轮都会将当前未排序部分的最大元素“冒泡”到正确位置。内层循环`i`在每一轮中负责比较相邻元素并进行必要的交换。注意,由于每次外层循环都会把最大的元素放到正确位置,所以在后续的轮次中,内层循环的次数会逐渐减少,因此内层循环的结束条件是`i<n-1-j`。
C++是从C语言发展而来,具备了C语言的很多特性,同时引入了面向对象编程的概念,如类、对象、封装、继承和多态等。C++不仅保留了C语言的高效和灵活性,还增强了程序的可维护性和复用性。教程中提到C语言的主要特点是结构化、高效的执行效率、良好的可移植性以及对程序员的高度自由度,这些特点在C++中得到了延续和发展。
学习C++编程,理解这些基本概念和编程技巧是至关重要的。虽然C++的语法相对自由,对于初学者可能带来一定的挑战,但只要深入理解和实践,就能逐渐掌握这门强大的编程语言。同时,调试是编程过程中不可或缺的一部分,熟悉调试技巧和工具对于提高编程效率和确保代码质量至关重要。
2019-03-06 上传
2011-08-27 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-05-23 上传
2013-07-07 上传
小婉青青
- 粉丝: 28
- 资源: 2万+
最新资源
- flipRegression
- MyCad工具
- 模仿微信首次使用进入导航页效果
- Location
- Redis-x64-3.2-windows系统安装包.zip
- g762.rar_单片机开发_Unix_Linux_
- jogoDaForca:通过实施一个小游戏来训练Javascript和CSS
- 线图:创建由线组成的地图
- cordova移动开发简单demo.zip
- 以太坊物联网
- UMN Classes to Calendar-crx插件
- frontend-nanodegree-feedreader-master
- BFM1:WGU的第一个C#项目。这是用于自行车店的非常基本的WInForms库存管理应用程序。该课程的重点是OOP概念
- React+Redux+Node+Mongodb的一个外包项目接单系统.zip
- jeroenvisser.online:来源到我的个人网站
- GUIEdge.rar_matlab例程_matlab_