没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
算法分析与设计结课论文
课程名称: 算法分析与设计
报告题目: 排序算法及改进
学生姓名: 学 号:
专 业
成 绩: 任课教师:
评阅日期:
2
排序算法及改进
一、 算法课程设计的目的
算法的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内
容;通过调试典型例题或习题积累调试 C 程序及 C++程序的经验;通过完成辅导教材中的编
程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说:
1. 进一步掌握和利用算法进行程设计的能力;
2、 进一步理解和运用结构化设计的思想和方法;
3、 初步掌握使用算法基本方法;
4、 学会调试一个较长程序的基本方法;
5、 掌握书写程设计开发文档的能力(书写算法论文);
二、算法分类介绍
1、冒泡排序
(1)介绍
排序算法有很多种方法,平常我们在进行排序的时候总是不断的嵌套 for 循环,不断的
进行迭代找到最大值放在最后,最后得到一个排序,实现起来比较麻烦,而且实现的时间复
杂度比较高。因此出现了很多其他的排序算法
冒泡排序是其中的一个,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”
到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一
样,故名“冒泡排序”。它的实现要对一个列表多次重复遍历。它要比较相邻两个数的大小,
如果前面的大于后面的,就交换位置,最后就把最大项放到正确的位置,通过不断的遍历最
后就得到一个有序的列表。大体上讲,列表的每一个数据项都会在其相应的位置‘冒泡’。
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排列。它重复地走访过要排
序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从 Z 到 A)错误就
把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元
素列已经排序完成。
3
代码实现:
#include <iostream>
#include <string>
using namespace std;
int main() {
int n[10];
int i, j;
int temp; //用于缓存需要交换的数字
cout << "请输入十个数字!" << endl;
for (i = 0; i < 10; i++) {
cin >> n[i];
}
for (i = 0; i < 9; i++) { //共进行 9 步
for (j = 0; j < 9 - i; j++) { //在每一步进行 10-i 次两两比较
if (n[j] > n[j + 1]) {
temp = n[j];
n[j] = n[j + 1];
剩余12页未读,继续阅读
资源评论
RC小小程序员
- 粉丝: 5
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功