我---对‘数据结构’中‘排序’的理解 ---------2:选择排序--(一)简单选择排序
2011-02-23 11:34
363 查看
————————————————————摘自《数据结构》(严蔚敏)
===可以参照下图简单选择排序
理解,即===
第1趟 :在7个记录中选 最小的(1),作为第1个记录;
第2趟 :在6个记录中选 最小的(3),作为第2个记录;
第3趟 :在5个记录中选 最小的(4),作为第3个记录;
第4趟 :在4个记录中选 最小的(5),作为第4个记录;
第5趟 :在3个记录中选 最小的(6),作为第5个记录。。。。
简单选择排序------------图例-----------
--------------------------------图片摘自:
http://www.cnblogs.com/jeky/archive/2009/03/31/1426537.html
百度百科:
算法思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
然后在剩下的数当中再找最小的与第二个位置的数交换,
如此循环到倒数第二个数和最后一个数比较为止。
——————————————————————————————————————————————————————
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)
{
if(a[k]>a[j])
{
K=j;
//
选择排序法,开始的时候椅子
a[i]
谁也不给,放在一边让大家看着,找个人k记录比赛结果,然后发
椅子 a[i]
。
}
//
椅子
a[i]
只发给a[k];
int b;
b=a[i];
a[i]=a[k];
a[k]=b;
}
}
——————————————————————————————————————————————————————
------我自己写算法的时候,由于没有透彻理解 简单选择排序 的核心,红字
里面是这样实现的:(这样就变成了另一种算法
定位比较交换法
)
if(a[k]>a[j])
{
int b;
b=a[i];
a[i]=a[k];
a[k]=b;
//一次比较的时候,椅子
a[i]
都可能会被交换的
}
——————————————————————————————————————————————————————
相关文章推荐
- 我---对‘数据结构’中‘排序’的理解 ---------3:选择排序--(二)堆排序
- [Java数据结构]简单排序之选择排序
- 算法和数据结构---排序--简单选择排序
- 数据结构----简单选择排序
- 【数据结构】算法10.9 选择排序-简单选择排序
- 【常用排序算法】以最简单的方式理解选择排序
- 数据结构 三种简单的排序(插入、选择、冒泡)
- 数据结构简单选择排序
- 初学数据结构---简单选择排序
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- 从简单的选择排序入手,深刻理解程序
- 数据结构简单排序之选择排序
- 数据结构-选择排序-简单选择排序
- 数据结构----选择排序
- 排序算法2--简单选择排序、堆排序
- 三种最简单基础的排序 选择排序 冒泡排序 直接插入排序 运用了函数指针数组
- java实现七种排序 (插入排序, 希尔排序, 插入排序, 快速排序, 简单选择排序, 堆排序, 归并排序)
- 【第3节】简单排序--选择排序
- java数据结构与算法-简单排序-选择排序