Domain, hosting, vps giá rẻ
Kết quả 1 đến 4 của 4

Chủ đề: [C++] Các thuật toán sắp xếp cơ bản thường sử dụng

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    nghiammo1992's Avatar
    Bài viết
    5,075
    Cấp độ
    Bang hội
    Tiếu Ngạo
    Tu luyện
    Độ kiếp Hư Thần
    Giới tính
    Con trai
    Join Date
    Jun 2012
    Đến từ
    Hà Giang
    Tuổi
    32
    Danh vọng
    10
    Điện thoại
    0367790762

    [C++] Các thuật toán sắp xếp cơ bản thường sử dụng





    Thuật toán sắp xếp theo cơ số Radix Sort (Không hoạt động với mảng chứa số âm)

    Mã nguồn PHP:
    #include <iostream>


    using namespace std;


    int get_max_element(int arr[], int n) {
      
    int max arr[0];
      for (
    int i 1ni++)
        if (
    arr[i] > max)
          
    max arr[i];
      return 
    max;
    }

    void sort_counting(int arr[], int sizeint place) {
      
    int output[size 1];
      
    int max = (arr[0] / place) % 10;

      for (
    int i 1sizei++) {
        if (((
    arr[i] / place) % 10) > max)
          
    max arr[i];
      }
      
    int count[max 1];

      for (
    int i 0max; ++i)
        
    count[i] = 0;

      for (
    int i 0sizei++)
        
    count[(arr[i] / place) % 10]++;

      for (
    int i 110i++)
        
    count[i] += count[1];

      for (
    int i size 1>= 0i--) {
        
    output[count[(arr[i] / place) % 10] - 1] = arr[i];
        
    count[(arr[i] / place) % 10]--;
      }

      for (
    int i 0sizei++)
        
    arr[i] = output[i];
    }

    void sort_radix(int arr[], int size) {
      
    int max get_max_element(arrsize);
      for (
    int place 1max place 0place *= 10)
        
    sort_counting(arrsizeplace);
    }


    int main()
    {

        
    int arr[] {32,71,12,45,26,80,53,33,7,99,1,5,2,3,100};

        
    int n sizeof(arr) / sizeof(arr[0]); // so luong phan tu trong mang

        
    sort_radix(arrn);

        
    cout << "So luong phan tu trong mang: " << << endl;

        for (
    int i arr) {
            
    cout << << " ";
        }

        return 
    0;

    Lần sửa cuối bởi nghiammo1992, ngày 23/09/2021 lúc 20:41.
    Diễn đàn chia sẻ kiến thức điện thoại: http://chiase123.com
    Click vào Hiện ra để xem chữ ký của mình :X

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Các Chủ đề tương tự

  1. Trả lời: 0
    Bài viết cuối: 21/03/2013, 12:43

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •