二、选择排序
int array[]={5,2,4,1,8,6,3,7,9};
int out ,in ,min;
for( out = 0; out < array.length - 1; out++){
min = out;//保存当前下标
for( in =out + 1; in < array.length; in++){
if(array[in] < array[min]){//即使在内循环里发生了数据的交换,但是所要比较的下标依旧不变
int temp = array[in];
array[in] = array[min];
array[min] = temp;
}
}
for(int i = 0; i < array.length ; i++){//在进行一次内循环后打印结果 ,用于分析数据走向
System.out.print(array[i]+"");
}
System.out.println("第"+out+"次循环结果");
}
我的理解:选择排序可以是从最左边的第一位开始,也就是从下标为0的数据开始依次与它本身N+1的下标的数据进行对比,取出最小的数据放置在下标为N的位置,保持以N为中心左边数据的有序,直到全部排好序。
运行结果:
- 大小: 12.4 KB
分享到:
相关推荐
【机器学习-推荐系统-排序篇2】 在推荐系统中,排序是一个至关重要的环节,它决定了用户看到的内容顺序,从而直接影响用户体验和系统效果。排序的目标是优化特定的指标,如Mean Average Precision (MAP)和...
在这个阶段,常常采用机器学习模型,如深度学习模型,来预测每个物品对用户的点击概率或评分,然后根据这些预测值进行排序。 在评估排序算法的性能时,常见的指标有AUC(Area Under the ROC Curve)、MAP(Mean ...
本篇将详细讲解C#中实现的选择排序算法。 选择排序是一种简单直观的排序算法,其工作原理可以分为两步:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找...
在SIGIR、ICML、NIPS等会议上,有关排序学习的论文已经超过了100篇。每年信息检索的顶级会议SIGIR上都会有两个session专门讨论排序学习。此外,Yahoo举办过Learning to Rank Challenge,而微软亚洲研究院提供了排序...
描述中提到的“博文链接”指向了一个名为“iteye”的博客平台上的文章,虽然具体内容没有给出,但我们可以推测这篇文章可能提供了关于如何在BIRT报表中实现表头排序的详细步骤和指导。通常,表头排序是用户交互的...
《Lucene5学习之排序-Sort》 在深入探讨Lucene5中的排序功能之前,我们需要先理解Lucene的基本概念。Lucene是一个高性能、全文检索库,它为Java开发者提供了强大的文本搜索能力。Lucene的核心功能包括索引创建、...
本篇文章将深入探讨如何在MFC应用中实现CListCtrl的排序功能,并提供相应的源程序供学习交流。 首先,我们需要了解CListCtrl的基本用法。CListCtrl继承自CWnd,它可以展示数据项,每个数据项又可以有多个子项(列)...
#### 二、选择排序的算法思想 选择排序的核心思想可以概括为以下几点: 1. **初始化**:从数组的第一个元素开始,认为第一个元素是最小(或最大)的。 2. **查找**:从当前索引位置开始,遍历后面的所有元素,找到...
"大数据学习资料全排序二次排序"这个主题,显然关注的是如何有效地对大规模数据进行排序,尤其是涉及到二次排序的概念。二次排序通常是指在第一次排序的基础上,根据另一个或多个字段进行第二次排序,以满足更复杂的...
这篇实验报告围绕的是数据结构课程中的内部排序主题,主要涵盖了两个经典的排序算法——插入排序和快速排序。实验目的是为了让学生熟悉这两种排序算法的工作原理,并通过实际编程实现它们。 1. 插入排序(Insertion...
本篇文章将深入探讨“选择排序”这一经典排序算法,并通过一个示例代码来理解其工作原理。 #### 一、选择排序的基本概念 选择排序(Selection Sort)是一种简单直观的比较排序算法。它的工作原理是遍历数组,每次...
本篇将详细阐述简单选择排序的工作原理、步骤以及如何用VC++实现。 **一、简单选择排序算法** 1. **基本思想**:在未排序的序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中...
《人工智能-机器学习-机器学习排序系统的设计与实现》这篇硕士研究生学位论文主要探讨了在搜索引擎中应用机器学习进行文档排序的问题。论文首先概述了排序系统在搜索引擎中的重要作用,特别是近年来新兴的“学习排序...
本篇文章将深入探讨在C#编程语言中实现冒泡排序和选择排序的方法,这两种经典的排序算法在理解和实现上都相对简单,适合初学者入门。 首先,让我们来理解冒泡排序(Bubble Sort)。冒泡排序是一种简单的排序算法,...
在本篇VC++2012编程演练中,我们聚焦于数据结构中的一个重要主题——树形选择排序。这个算法是排序算法的一种,它利用了树的特性来优化选择过程,从而提高排序效率。下面我们将详细探讨这个算法以及如何在VC++环境中...
本篇文章将深入探讨几种常见的排序算法,并通过Java代码示例进行解析。 ### 1. 插入排序 - **直接插入排序**:在已排序部分后依次插入新元素,不断调整已排序部分,直至整个数组有序。 - **折半插入排序**:改进了...
冒泡排序和选择排序是两种基础且常见的计算机编程中的排序算法,主要应用于数据处理和算法学习。在这篇文章中,我们将深入探讨这两种排序方法,并通过具体的示例进行解析。 首先,让我们了解一下冒泡排序。冒泡排序...
在IT领域,排序是计算机科学中最基础且至关重要的概念之一,尤其在算法设计和数据处理中扮演着核心...通过学习这个资源包,你可以深入理解排序算法的工作原理,提高编程实战技能,并能根据实际需求选择合适的排序方法。
本篇文章将深入探讨五种常见的排序算法,并以Java编程语言为实现背景。这些算法包括冒泡排序、插入排序、选择排序、归并排序以及快速排序。 **冒泡排序**是一种基础的排序方法,它通过重复遍历数组,比较相邻元素并...