有点不太明白冒泡排序和选择排序冒泡排序就是说当第一个元素第二个大的时候它们就交换位置而选择排序是先从数组中找出最小的然后把它派在第一为在从第而个元素开始找
找到最小的在把它放到第二位这是冒泡..for (int i = 0;i < sum.length;i++ )
{
for (int j = i+1; j<sum.length ;j++)
{
if (sum[j] < sum[i])
{
sum[j] = sum[i]; sum[i] = sum[j];
} }
可不知道怎么写选择排序
高手请帮忙...

解决方案 »

  1.   

    #include <stdio.h>// ============================================================================
    // ==============================================================================int main()
    {
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    int a[8] = { 1, 2, -1, 5, 3, 7, 8, 6 };
    int i, j, n = 8, min, k;
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ for (i = 0; i < n; i++) {
    min = a[i];
    k = i;
    for (j = i + 1; j < n; j++) {
    if (a[j] < min) {
    min = a[j];
    k = j;
    }
    } if (i != k) {
    a[k] = a[i];
    a[i] = min;
    }
    } for (i = 0; i < n; i++) {
    printf("%d ", a[i]);
    } return 0;
    }
      

  2.   

    你写的并没有排序
    public class  ChoiceTaxis
    {
    public static void main(String[] args) 
    {



    int a[] = {5,6,9,98,45,66};

    int i=0, j=0, min = 0, k=0; for (i = 0; i < a.length -1; i++) 
    {
    min = a[i];
    k = i;
    for (j = i + 1; j < a.length; j++)
    {
    if (a[j] < min) 
    {
    min = a[j];
    k = j;
    }
    }
    } if (i != k)
    {
    a[k] = a[i];
    a[i] = min;
    }
    for (i = 0; i < a.length; i++) 
    { System.out.println(a[i]);
    //printf("%d ", a[i]);
    } }
    }用JAVA该过的..
    不行的
    这是在JAVA论坛
      

  3.   

    ... 偶写的有排序~~~~~虽然是java论坛,这个代码的程度也接近伪代码了~~~~ 无妨吧~~~
      

  4.   

      //冒泡排序
      public static int[] bubble(int array[]){
        int arr[] = array.clone();
        for(int i=0;i<arr.length;i++)
          for(int j=arr.length-1;j>i;j--)
            if(arr[i]>arr[j])
              swap(arr,i,j);
        return arr;
      }
      
      //选择排序
      public static int[] select(int array[]){
        int arr[] = array.clone();
        for(int i=0,k=0;i<arr.length;i++){
          k = i;
          for(int j=arr.length-1;j>i;j--)
            if(arr[k]>arr[j])
              k = j;
          swap(arr,i,k);
        }
        return arr;
      }  private static void swap(int arr[],int i,int j){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }看这个就知道了
      

  5.   

    // selectSort.java
    // demonstrates selection sort
    // to run this program: C>java SelectSortApp
    ////////////////////////////////////////////////////////////////
    class ArraySel
       {
       private long[] a;                 // ref to array a
       private int nElems;               // number of data items
    //--------------------------------------------------------------
       public ArraySel(int max)          // constructor
          {
          a = new long[max];                 // create the array
          nElems = 0;                        // no items yet
          }
    //--------------------------------------------------------------
       public void insert(long value)    // put element into array
          {
          a[nElems] = value;             // insert it
          nElems++;                      // increment size
          }
    //--------------------------------------------------------------
       public void display()             // displays array contents
          {
          for(int j=0; j<nElems; j++)       // for each element,
             System.out.print(a[j] + " ");  // display it
          System.out.println("");
          }
    //--------------------------------------------------------------
       public void selectionSort()
          {
          int out, in, min;      for(out=0; out<nElems-1; out++)   // outer loop
             {
             min = out;                     // minimum
             for(in=out+1; in<nElems; in++) // inner loop
                if(a[in] < a[min] )         // if min greater,
                    min = in;               // we have a new min
             swap(out, min);                // swap them
             }  // end for(out)
          }  // end selectionSort()
    //--------------------------------------------------------------
       private void swap(int one, int two)
          {
          long temp = a[one];
          a[one] = a[two];
          a[two] = temp;
          }
    //--------------------------------------------------------------
       }  // end class ArraySel
    ////////////////////////////////////////////////////////////////
    class SelectSortApp
       {
       public static void main(String[] args)
          {
          int maxSize = 100;            // array size
          ArraySel arr;                 // reference to array
          arr = new ArraySel(maxSize);  // create the array      arr.insert(77);               // insert 10 items
          arr.insert(99);
          arr.insert(44);
          arr.insert(55);
          arr.insert(22);
          arr.insert(88);
          arr.insert(11);
          arr.insert(00);
          arr.insert(66);
          arr.insert(33);      arr.display();                // display items      arr.selectionSort();          // selection-sort them      arr.display();                // display them again
          }  // end main()
       }  // end class SelectSortApp
    ////////////////////////////////////////////////////////////////