01 November 2018

Hàm sắp xếp LinkedList tăng dần bằng "Thuật toán nổi bọt" trong lập trình Java

Sắp xếp LinkedList tăng dần với Thuật toán nổi bọt
Hàm sắp xếp LinkedList tăng dần bằng mảng trong lập trình Java
Thuật toán nổi bọt
Hàm sắp xếp LinkedList tăng dần bằng mảng
Java Core 2016
package test;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Demo {
   public String strTemp;
   public Integer numTemp;

   public Demo() {
      super();
   }

   public static void main(String args[]) {

      Demo d = new Demo();

      List < String > strList = new LinkedList < String > ();
      strList.add("D");
      strList.add("A");
      strList.add("C");
      strList.add("B");

      // String list origin
      System.out.println(strList);

      // Convert LinkedList to array
      String[] strArray = (String[]) strList.toArray(new String[strList.size()]);

      for (int i = 0; i < strArray.length - 1; i++) {
         for (int j = i + 1; j < strArray.length; j++) {
            // sap xep tang dan > 0 hoac giam dan < 0
            if (strArray[i].compareTo(strArray[j]) > 0) {
               d.strTemp = strArray[i];
               strArray[i] = strArray[j];
               strArray[j] = d.strTemp;
            }
         }
      }
      // Convert strArray to List
      System.out.println(Arrays.asList(strArray));

      List < Integer > numList = new LinkedList < Integer > ();
      numList.add(6);
      numList.add(5);
      numList.add(3);
      numList.add(1);
      numList.add(8);
      numList.add(7);
      numList.add(2);
      numList.add(4);

      // Integer list origin
      System.out.println(numList);

      // Convert LinkedList to array
      Integer[] numArray = (Integer[]) numList.toArray(new Integer[numList.size()]);

      for (int i = 0; i < numArray.length - 1; i++) {
         for (int j = i + 1; j < numArray.length; j++) {
            // sap xep tang dan a[i] > a[j] or giam dan a[i] < a[j]
            if (numArray[i] > numArray[j]) {
               d.numTemp = numArray[i]; //numTemp là biến tạm lưu giá trị
               numArray[i] = numArray[j]; //thực hiện đổi chỗ 'dồi chó'
               numArray[j] = d.numTemp;
            }
         }
      }
      // Convert strArray to List
      System.out.println(Arrays.asList(numArray));
   }
}
Output:
[D, A, C, B]
[A, B, C, D]
[6, 5, 3, 1, 8, 7, 2, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
Kiến Thức Cần Có:
1. Khai báo kiểu String và Integer, khai báo mảng ?
2. List, LinkedList và Arrays là như thế nào ?
3. println là gì ?
5. Vòng lặp for là gì ?
6. toArray là gì ?
7. asList là gì ?

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang