Bucket sorting procedure

xiaoxiao2021-03-06  46

#include #include

// Constant Size Must Be Defined As The Array Size for Bucketsort To Workconst Int Size = 12;

Void bucketsort (int []); void distributeereferences (int [】, int); void collectlements (int [】, int [] [size]); int Numberofdigits (int ", int); Void Zerobucket (int [】 [size]);

INT main () {int Array [size] = {19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21};

COUT << "Array Elements in Original Order: / N";

For (int i = 0; i

COUT << '/ n'; bucketsort (array);

Cout << "/ Narray Elements in sorted order: / n";

For (int J = 0; j

Cout << Endl; Return 0;

// Perform The Bucket Sort Algorithmvoid Bucketsort (Int a []) {Int Totaldigits, Bucket [10] [SIZE] = {0};

Totaldigits = NumberOfDigits (A, Size);

For (int i = 1; i <= totaldigits; i) {DistributeElements (A, Bucket, I); CollectElements (A, BUCKET);

IF (i! = totaldigits) Zerobucket (BUCKET); // set all bucket contents to zero}}

// DETERMINE THE NUBER OF DIGITS in The Largest Numberint Numberofdigits (int B [], int Arraysize) {Int Largest = B [0], DIGITS = 0;

For (int i = 1; i largest) Largest = B [i];

While (Largest! = 0) { Digits; Largest / = 10;

Return Digits;

// Distribute elements into buckets based on specified digitvoid distributeElements (int a [], int buckets [] [SIZE], int digit) {int divisor = 10, bucketNumber, elementNumber; for (int i = 1; i

For (int K = 0; k 2 BucketNumber = (a [k]% Divisor - a [k]% (Divisor / 10)) / (Divisor / 10);

// Retrieve Value in Buckets [BucketNumber] [0] to Dermine // Which Element of The Row To Store A [i] in. ElementNumber = Buckets [BucketNumber] [0]; buckets [bucketnumber] [ElementNumber] = A [k];

// Return Elements to Original Arrayvoid CollectElements (int A [】, int bukeets []i]) {int subscript = 0;

For (int i = 0; i <10; i) for (int J = 1; j <= buckets [i] [0]; j) a [subscript ] = buckets [i] [j]; }

// set all buckets to zerovoid Zerobucket (int bukeets [] []) {for (int i = 0; i <10; i) for (int J = 0; j

转载请注明原文地址:https://www.9cbs.com/read-52039.html

New Post(0)