A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boboyuwu   /  2016-1-31 20:09  /  7997 人查看  /  33 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

保密工作 来自手机 中级黑马 2016-2-9 07:16:11
21#
在要排序的一组数中找到最小的数,和第一个数交换位置,再从剩下的数找到最小的和第二个数交换位置,依次循环直到倒数第二个数和最后一个数比较为止
最佳答案
public class selectSortArray {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[]array={2,8,1,3,9,4};  //定义一个需要排序的数组
    selectSort(ar
回复 使用道具 举报
toolz 中级黑马 2016-2-13 14:06:24
22#
排序代码,和排序视频我上传网上了,你下载看看吧

链接: http://pan.baidu.com/s/1kUsApZx 密码: 8ssw
回复 使用道具 举报
tpcd 中级黑马 2016-2-15 18:11:09
23#
class xuanze {         public static void selectsort(int[]arr)         {                 for(int x=0;x<arr.length-1;x++)                 {                         for(int y=x+1;y<arr.length;y++)                         {                                 if(arr[x]>arr[y])                                 {                                         int temp=arr[x];                                     arr[x]=arr[y];                                     arr[y]=temp;                                 }                                                                  }                 }         }         public static void main(String[]args)         {                 int []arr={1,5,8,6,4,2};                 selectsort(arr);
回复 使用道具 举报
选择排序就是从第一个数开始
回复 使用道具 举报
n个数选择排序就是(默认从小到大正序输出):第一步:从第一个数开始,依次与后面的数进行比较,如果遇到比自己小的数后就交换直到最后一个数,然后记录最小的数放在第一位;第二步:从第二个数开始执行上述操作依次遍历剩余的数,拿出最小的放在第二位;~~~依次循环直至执行到第n-1步,然后遍历输出
回复 使用道具 举报
我学的是ios,来说说思想把,其实就是一个数组,第一次用第一个和剩下的其他数比较大小,假如从小到大排列,则
回复 使用道具 举报
我学的是ios,来说说思想把,其实就是一个数组,第一次用第一个和剩下的其他数比较大小,假如从小到大排列,则比arr[0]小的数放到arr[0]中,第二次就是把arr[1]和arr[2]到arr[n]的数比较,比较小的数放到arr[1]中,以此类推.则arr[i]和其它剩下的数逐次比较,当有小的数就放到arr[i]中.
回复 使用道具 举报
将数组的第一个元素依次和后面的每个元素比较 得出最值  把最值放在角标0的位置   把原来角标0位置的元素放在最值的角标位置上
将数组的第二个元素按上面的方法操作
。。。
直到最后一个元素为止
回复 使用道具 举报
for(int i=0;i<a.length-1;i++){
                        //找 [i, a.length)范围内的最小值,
                        //假设i位置最小,下标i赋给j
                        int j=i;
                        for(int k=i+1;k<a.length;k++){
                                if(a[k]<a[j]){
                                        j=k;
                                }
                                int c=a[j];
                                a[j]=a[i];
                                a[i]=c;
                        }
回复 使用道具 举报
多给你来几个排序方法
1.选择排序
private static void selectSort(int[] a) {
                for (int i = 0; i < a.length; i++) {
                        for (int j = i + 1; j < a.length - i; j++) {
                                if (a[i] > a[j]) {
                                        int temp = a[i];
                                        a[i] = a[j];
                                        a[j] = temp;
                                }
                        }
                }
                for (int i = 0; i < a.length; i++) {
                        System.out.print(a[i] + " ");
                }
        }
//冒泡排序
        private static void bubbleSort(int[] a) {
                for (int i = 0; i < a.length - 1; i++) {
                        for (int j = 0; j < a.length - i - 1; j++) {
                                if (a[j] > a[j + 1]) {
                                        int temp = a[j];
                                        a[j] = a[j + 1];
                                        a[j + 1] = temp;
                                }
                        }
                }
                for (int i = 0; i < a.length; i++) {
                        System.out.print(a[i] + " ");
                }
        }
//自带的排序方法
        private static void sort(int[] a) {
                Arrays.sort(a);
                System.out.println(Arrays.toString(a));
        }
回复 使用道具 举报
/*
* 选择排序基本思路:
* 把第一个元素依次和后面的所有元素进行比较。
* 第一次结束后,就会有最小值出现在最前面。
* 依次类推
*/

public class SelectionSort {
        public static void sort(int[] data) {
                for (int x = 0; x < data.length - 1; x++) {
                        for (int y = x + 1; y < data.length; y++) {
                                if (data[y] < data[x]) {
                                        SortTest.swap(data, x, y);
                                }
                        }
                }
        }
}

选择.png (156.45 KB, 下载次数: 47)

选择.png
回复 使用道具 举报
{:2_34:}{:2_34:}我就默默看你水
回复 使用道具 举报
我也不会饿
回复 使用道具 举报
设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马