随笔-9  评论-5  文章-0  trackbacks-0

/************************************************************************/
/* 数组直接选择排序的简单实现,没有输入输出模块                                                                     */
/************************************************************************/
#include 
"iostream.h"

void sort(int a[],int size);
int main()
{
    
int num[]={21,12,45,34,67,30,21,3,56,98,99};

    sort(num,
sizeof(num)/sizeof(int));

    
return 0;
}

void sort(int a[],int size)
{
    
for (int i=0;i<size;i++)
    
{
        
int min=a[i],min_i=i;    //假设首元素是最小的,min_i表示是最小数字i坐标
        for (int j= i;j<size;j++)
        
{
            
if (a[j]<min)
            
{
                min
=a[j];
                min_i 
= j;
            }

        }

        
int temp = a[i];    //a[min_i]为找到的值最小的元素,要把最小的元素放在a[i]中
        a[i] = a[min_i];
        a[min_i]
= temp;
    }

}
posted on 2008-10-24 11:20 longhr 阅读(403) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理