Chạy ❯
Nhận trang web của
riêng
bạn
×
Thay đổi định hướng
Thay đổi chủ đề, Tối/Sáng
Đi tới Không gian
Python
C
Java
def countSort(arr): max_val = max(arr) count = [0] * (max_val + 1) while len(arr) > 0: num = arr.pop(0) count[num] += 1 for i in range (len(count)): while count[i] > 0: arr.append(i) count[i] -= 1 return arr unsortedArr = [4, 2, 2, 6, 3, 3, 1, 6, 5 , 2, 3] SortedArr = countSort(unsortedArr) print("Đã sắp xếp mảng:", SortArr) #Python
#include <stdio.h> void countSort(int arr[], int n) { int max_val = arr[0]; for(int i = 1; i < n; i++) { if(arr[i] > max_val) { max_val = arr[i]; } } int count[max_val + 1]; for(int i = 0; i <= max_val; i++) { count[i] = 0; } for(int i = 0; i < n; i++) { count[arr[i]]++; } chỉ số int = 0; for(int i = 0; i <= max_val; i++) { while(count[i] > 0) { arr[index++] = i; đếm[i]--; } } } int main() { int arr[] = {4, 2, 2, 6, 3, 3, 1, 6, 5, 2, 3}; int n = sizeof(arr)/sizeof(arr[0]); countSort(arr, n); printf("Sắp xếp mảng: "); for(int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); trả về 0; } //C
public class Main { public static void countSort(int[] arr) { int max_val = arr[0]; for(int num : arr) { if(num > max_val) { max_val = num; } } int[] count = new int[max_val + 1]; for(int num : arr) { count[num]++; } chỉ số int = 0; for(int i = 0; i <= max_val; i++) { while(count[i] > 0) { arr[index++] = i; đếm[i]--; } } } public static void main(String[] args) { int[] arr = {4, 2, 2, 6, 3, 3, 1, 6, 5, 2, 3}; đếmSort(arr); System.out.print("Sắp xếp mảng: "); for(int num : arr) { System.out.print(num + " "); } System.out.println(); } } //Java
Kết quả Python:
Kết quả C:
Kết quả Java:
Mảng được sắp xếp: [1, 2, 2, 2, 3, 3, 3, 4, 5, 6, 6]
Mảng được sắp xếp: 1 2 2 2 3 3 3 4 5 6 6
Mảng được sắp xếp: 1 2 2 2 3 3 3 4 5 6 6