C++双向起泡排序算法的实现
双向起泡排序实现如下:
#include<iostream>
using namespace std;// 交换两个数
void swap(int &i, int &j)
{int t = i;i = j;j = t;
}// 打印数组
void show(int a[], int n)
{for(int i = 0; i < n; i++){cout << a[i] << " ";}cout << endl;
}// 双向起泡排序
void bubblesort(int a[], int n)
{int low = 0, high = n-1;bool flag = true;while(low < high && flag){ flag = false;show(a, 10);int i = low;while(i < high){if(a[i] > a[i + 1]){swap(a[i], a[i + 1]);flag = true;}i++;}high--;int j = high;while(j > low){if(a[j] < a[j-1]){swap(a[j-1], a[j]);flag = true;}j--;}low++;}
}int main(){int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};int n = 10;// 输出初始状态// show(a, n);// 双向冒泡排序bubblesort(a, n);// 排序后输出cout << "after sort" << endl;show(a, n);}
代码中示例的输出为:
10 9 8 7 6 5 4 3 2 1
1 9 8 7 6 5 4 3 2 10
1 2 8 7 6 5 4 3 9 10
1 2 3 7 6 5 4 8 9 10
1 2 3 4 6 5 7 8 9 10
after sort
1 2 3 4 5 6 7 8 9 10
C++双向起泡排序算法的实现相关推荐
- 十一大排序算法的实现
十一大排序算法的实现 前言 终于写完了,九大排序算法亲自打一遍,给自己加深印象,算是一种模板,留给自己以后用,也分享给大家. U p d a t e : Update: Update: 2020.12 ...
- 数组的几种排序算法的实现(1)
数据结构中的排序算法,各有用处,比如: 1,直接插入排序,在序列基本有序的情况下,移动的次数比较少,但是比较次数是一样的 复杂度O(n*n); 2,冒泡排序,这个不用说了吧,刚学C的人都懂了 3,希尔 ...
- 数据结构实验四 排序算法的实现
广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼416) 2019年6月4日 学院 计算机科学与教育软件学院 年级.专业.班 姓名 学号 实验课程名称 数据结构实验 成绩 实验项 ...
- 【swjtu】数据结构实验9_多种排序算法的实现
实验内容及要求: 输入n个整数,分别用希尔排序.快速排序.堆排序和归并排序实现由小到大排序并输出排序结果.要求n=10,15,20进行三组排序实验. 实验目的: 掌握希尔排序.快速排序.堆排序.归并排 ...
- Java基础学习总结(28)——Java对各种排序算法的实现
2019独角兽企业重金招聘Python工程师标准>>> 这里总结下各种排序算法的java实现 冒泡排序 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- 排序算法的实现(C/C++实现)
存档: 1 #include <iostream> 2 #include <stdlib.h> 3 #include <sort.h> 4 #define maxs ...
- C++——《数据结构与算法》实验——排序算法的实现
问题描述 1) 动态输入一组数字序列; 2)实现直接插入排序.简单选择排序.冒泡排序.快速排序算法; 3)在主函数中,依次测试上述算法. 类型定义 #define MAX SIZE 100 typed ...
- Python之十大经典排序算法的实现和原理
一.冒泡排序 冒泡排序(Bubble Sort)是一种比较简单的排序算法,它重复地走访过要排序的元素,依次比较相邻两个元素,如果它们的顺序错误就把它们调换过来,直到没有元素再需要交换,排序完成. 冒泡 ...
- java 排序算法面试题_面试题: java中常见的排序算法的实现及比较
1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较,若小于相邻元素,则交换两者位置,同时将较大元素作为下一个比较的基准元素,继续将该元素与其相邻 ...
最新文章
- PHP实现MVC开发: 一个简单的MVC(转)
- 详解XMind各种上传分享分类
- 继国美处罚“摸鱼”员工后,网易出品之摸鱼计算器...
- 【struts2】struts2拦截器
- 业务功能中包含邮件发送,怎么测试?
- 谈谈IP和MAC捆绑的破解之道
- 找出两个字符串中所有共同的字符_面试中的两个字符串问题竟给我整懵了?!| 原力计划...
- 小鹏汽车副总裁纪宇:坚持智能化技术自研,打造最深的护城河
- CISA:很多受害者和 SolarWinds 之间并不直接相关
- ios整理(五)小应用-重力感应
- PHP中面向对象分析设计的经验总结
- 炸场!通用人工智能最新突破:一个模型、一套权重通吃600+视觉文本和决策任务,DeepMind两年研究一朝公开...
- 生产质量分析方案,人机料法环全面解析,必看好文
- 三维点云处理-1.2主成分分析PCA
- 交换机(三层)接入层、汇聚层和核心层交换机的特点
- 快排三种基本解法以及两种快排优化
- 非常简单-Linux环境下(有公网IP)或虚拟主机的环境下如何做一个网站???
- “江湖笑”-献给怀有梦想的北漂一族
- 微信公众平台测试帐号申请最新地址
- 零基础学Arcgis(七)|空间数据采集与管理(4)数据检查