排序系列--选择排序
来源:互联网 发布:知乎 可怕的事 编辑:程序博客网 时间:2024/05/18 02:09
// 排序系列--选择排序.cpp : 定义控制台应用程序的入口点。
//说明:选择是本人经常用到的排序方法,因为够简单(虽然性能不是很好)
//思想:一开始就在无序序列中选第一个(或最后一个元素)元素为最小(或最大)元素,然后用后续的元素与该选定的“最小”元素进行比较
//如果满足“最小”,则记录后移,否则交换位置(一趟选择排序)
//vs2010上编译通过
#include "stdafx.h"
#include <ctime>//用于调用随机种子函数
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
void SelectSort(int a[],int n)
{
for (int i=0;i<n;i++)//n趟
{
//下面是一趟选择排序
int index=i;
for (int j=i+1;j<n;j++)//将i后面的元素与i指定的元素进行比较
{
if (a[j]<a[index])//判断是否比假设的元素小,如果满足,则将该记录保存下来(替换原来的记录)
{
index=j;
}
}
if (index!=i)//判断假设的最小元素是否真的是最小的,如果不是,则交换
{
a[i]=a[i]+a[index];
a[i]=a[i]-a[index];
a[index]=a[i]-a[index];
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[20];
srand( (unsigned)time(NULL) );
for (int i=0;i<20;i++)
{
a[i]=rand()%40;
}
SelectSort(a,20);
for (int i=0;i<20;i++)
{
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
- 排序系列--选择排序
- 排序系列之选择排序
- 排序算法系列二(选择排序)
- 排序算法系列之选择排序
- 排序算法系列之选择排序
- 排序算法系列:选择排序算法
- 排序总结系列三:选择排序
- PHP排序算法系列:直接选择排序
- Java系列-排序算法之选择排序
- 算法系列-直接选择排序
- 【算法系列】—选择排序
- 排序算法系列-选择之直接选择
- 内部排序系列 之选择排序与堆(heap)排序
- 排序算法系列-堆排序-快速排序-基数排序-简单选择排序-归并排序
- 回归基础系列-选择排序[JAVA]
- [回归基础系列]-简单选择排序[JAVA]
- 《动图系列》选择排序---心路历程
- 程序员面试系列——选择排序
- 纯虚函数和抽象基类
- PC上的手机模拟器大全(安卓/苹果/黑莓/塞班/微软)
- Centos下安装LAMP
- Log的层次化和Dump工具:想起PM的点滴(3)
- 关于twemproxy和redis分布式
- 排序系列--选择排序
- UITextView点击键盘Done返回
- 省赛3J题 Fruit Ninja II
- ios navigationController中界面跳转 :X–> A–>B–>C 返回 C–>A
- 日期时间类
- c++之ctype.h
- java日期处理
- linux线程
- 牛腩——相对地址和绝对地址