插入法、选择法、冒泡法(C++实现)
来源:互联网 发布:域名IP是什么意思 编辑:程序博客网 时间:2024/06/03 05:06
#include <stdio.h>#include <iostream>using namespace std;//插入法排序void InsertSort(int arr[],int num){for (int i=1;i<num;i++) //需要插入num-1次{int temp = arr[i];//待插入的元素//在有序区域查找插入的位置int j = i-1; //用于标志插入的位置for (j = i-1;j>=0;j--) //遍历前面的有序区域,逐个比较,寻找插入的位置{if (arr[j]<temp) //如果有序区域的数值比待比较的数值要小,则把有序区域的这个数值往后移动{arr[j+1] = arr[j]; //如果}else //如果有序区域比较的这个数值大于或等于待插入的temp,说明该位置的后面就是要插入的位置,跳出循环{ break; }}arr[j+1] = temp; }}//选择法排序void SelectSort(int arr[],int num){for (int i=0;i<num-1;i++) //总共需要排序num-1次{int index = i; //index用于代表无序区最大值的索引for (int j = i+1;j<num;j++) //遍历无序区域,找到无序区域最大值的索引{if (arr[j]>arr[index]){index = j;}}//把无序区的最大值放到无序区域的第一个位置if (index != i){int temp = arr[i];arr[i] = arr[index];arr[index] = temp;}}}//冒泡法排序void BubbleSort(int arr[],int num){for (int i=0;i<num-1;i++) //总共需要冒泡num-1次{for (int j=num-1;j>i;j--) //从无序区中遍历冒泡{if (arr[j]>arr[j-1]) //交换顺序{int temp = arr[j];arr[j] = arr[j-1];arr[j-1] = temp;}}}}void PrintArray(int arr[],int num){for (int i=0;i<num;i++){cout<< arr[i] << " ";}}int main(){int arr[5] = {1,6,3,8,9};//InsertSort(arr,5); //插入法排序//SelectSort(arr,5); //选择法排序BubbleSort(arr,5); //冒泡法排序PrintArray(arr,5);system("pause");return 0;}
阅读全文
0 0
- 插入法、选择法、冒泡法(C++实现)
- 数组实现冒泡法和选择法排序(C++)
- objective-c 实现常用算法(冒泡、选择、快速、插入)
- Java — 冒泡、选择、插入排序法
- 插入冒泡选择以及折半法排序
- 选择排序与冒泡法排序的C代码实现
- 选择排序与冒泡法排序的C代码实现
- c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法
- C语言中冒泡法、选择法、插入法三种常见排序算法分析
- C语言中冒泡法、选择法、插入法三种常见排序算法分析
- C语言 冒泡法排序,选择法排序和插入排序
- C语言中冒泡法、选择法、插入法三种常见排序算法分析
- C语言中冒泡法、选择法、插入法三种常见排序算法分析
- C语言中冒泡法、选择法、插入法三种常见排序算法
- C语言之各种排序法及核心思想(冒泡、鸡尾酒、选择、插入、二分法、希尔、堆、归并、快速)
- C语言之各种排序法及核心思想(冒泡、鸡尾酒、选择、插入、二分法、希尔、堆、归并、快速)
- C语言:冒泡排序、选择排序、快速排序、插入排序、“shell”法
- 数据结构和算法——排序算法(冒泡法 选择法 插入法 快速法)实现
- VC2013同一个工程生成的exe文件显示不同的图标
- 网站SEO优化之tag标签优化方法
- Cost Based Optimizer in Apache Spark 2.2
- 【Android】- Error:The<activity>element must be a direct child of the <application> element[WrongMani]
- hdu 2825 ac自动机+dp
- 插入法、选择法、冒泡法(C++实现)
- DWR第一篇之入门示例
- C#上位机通过TCP/IP完全控制YAMAHA四轴机器人开发
- 视频编解码学习之一:理论基础
- 【持续更新】Android工程师常见面试题型
- HDU 1856 more is better (简单题)
- 字符串中所有的字符是不是在长字符串中出现
- Pthreads并行编程之spin lock与mutex性能对比分析
- js弹出层