java选择法排序笔记
2013-04-10 20:20
183 查看
/** * 算法思想:每一轮循环确定当前数据中最大的一个数的位置(索引), * 然后把它交换到所有数据的最后一位,缩小排序范围,将剩余数据 * 重复按照上述思想排序,直到所有数据排序完成 */ static void sort(int[] arr){ //外层循环控制每次找到的最大数值要交换到的位置 for (int i = arr.length - 1; i > 0; i--) { //寻找最大值的基准数值选取arr[0],记录其索引 int index = 0; /** * 从第二个数直到最后一个数依次与基准数值进行比较, * 大于基准数值的选为新的基准数值,记录其索引。 */ for (int j = 1; j <= i; j++) { if (arr[j] > arr[index]) { index = j; } } //内层循环完成之后找到了最大数值的位置,将其交换到最后一位。 int temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; } }
相关文章推荐
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- [原创]java局域网聊天系统
- java很神奇 用swing制作欢迎屏幕
- java自动生成验证码插件-kaptcha
- ITeye上“10个人,8个人不会解释这个问题”的帖子
- Java IO与NIO的一些文件拷贝测试
- Java反射随记
- Java简单字符串插值实现
- String.intern
- 学习prefuse
- Java Runtime Environment 5.0 Update 12 下载
- 传智播客学习之java 反射
- Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Java 反射之私有字段和方法详细介绍
- Java实现时间日期格式转换示例
- java正则表达式应用的实例代码
- java连接sql server 2008数据库代码