Problem 17 (Unsigned integer radix sort - ): Write a C program for sorting 32-bit unsigned integers using radix sort with a group of 4 bits. Use the variables listed below. Assume 1st is initialized with n numbers. #define N 1048576 #define BIN 256 #define MAXBIT 32 #define LST 1 #define BUF @ int n, group, bin; int flag; /* to show which one holds numbers: 1st or buf */ int 1st [N],buf[N]; int count [BIN], map[BIN], tmap [BIN] int main(int argc, char **argv) { int i; flag = LST; initialize(); /* initialize 1st with n random floats */ for (i=0;i

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter8: I/o Streams And Data Files
Section: Chapter Questions
Problem 8PP: (Data processing) A bank’s customer records are to be stored in a file and read into a set of arrays...
icon
Related questions
Topic Video
Question

please fill 1 to 5 and lable it which one is map move count and all 

### Problem 17: Unsigned Integer Radix Sort

**Objective:** Write a C program for sorting 32-bit unsigned integers using radix sort with a group of 4 bits. Use the variables listed below. Assume `lst` is initialized with n numbers.

```c
#define N 1048576
#define BIN 256
#define MAXBIT 32
#define LST 1
#define BUF 0

int n, group, bin;
int flag; /* to show which one holds numbers: lst or buf */
int lst[N], buf[N];
int count[BIN], map[BIN], tmap[BIN];

int main(int argc, char **argv) {
    int i;
    flag = LST;
    initialize(); /* initialize lst with n random floats */
    for (i = 0; i < MAXBIT; i += group) radix_sort(i); /* move lst to buf or buf to lst depending on the iteration number */
    correct(); /* sorted numbers must be in lst */
}

void radix_sort(int idx) {
    int j, k, mask; /* initialize mask for lifting the 4 least significant bits. */
    int *src_p, *dst_p; /* cast lst and buf to int pointers to treat lst/buf as int's */
    /* set src_p and dst_p */
    
    _____1_____
    
    /* count */
    
    _____2_____
    
    /* map */
    
    _____3_____
    
    /* move */
    
    _____4_____
}

void correct() {
    _____5_____
}
```

### Explanation

1. **Definitions and Initialization:**
   - `#define N 1048576`: Number of elements in the list.
   - `#define BIN 256`: Number of bins used for sorting.
   - `#define MAXBIT 32`: Maximum number of bits (for 32-bit integers).
   - `#define LST 1`, `#define BUF 0`: Flags to indicate which array (lst or buf) currently holds the numbers.
   - Variables `n`, `group`, and `bin` manage sorting and grouping operations.
   - `lst` and `buf` are the arrays holding the numbers to be sorted.
   - `count`, `map`, and `tmap` are auxiliary arrays for counting and mapping during the sort.
   
2. **Main Function:**
   - Initializes the sorting process.
   -
Transcribed Image Text:### Problem 17: Unsigned Integer Radix Sort **Objective:** Write a C program for sorting 32-bit unsigned integers using radix sort with a group of 4 bits. Use the variables listed below. Assume `lst` is initialized with n numbers. ```c #define N 1048576 #define BIN 256 #define MAXBIT 32 #define LST 1 #define BUF 0 int n, group, bin; int flag; /* to show which one holds numbers: lst or buf */ int lst[N], buf[N]; int count[BIN], map[BIN], tmap[BIN]; int main(int argc, char **argv) { int i; flag = LST; initialize(); /* initialize lst with n random floats */ for (i = 0; i < MAXBIT; i += group) radix_sort(i); /* move lst to buf or buf to lst depending on the iteration number */ correct(); /* sorted numbers must be in lst */ } void radix_sort(int idx) { int j, k, mask; /* initialize mask for lifting the 4 least significant bits. */ int *src_p, *dst_p; /* cast lst and buf to int pointers to treat lst/buf as int's */ /* set src_p and dst_p */ _____1_____ /* count */ _____2_____ /* map */ _____3_____ /* move */ _____4_____ } void correct() { _____5_____ } ``` ### Explanation 1. **Definitions and Initialization:** - `#define N 1048576`: Number of elements in the list. - `#define BIN 256`: Number of bins used for sorting. - `#define MAXBIT 32`: Maximum number of bits (for 32-bit integers). - `#define LST 1`, `#define BUF 0`: Flags to indicate which array (lst or buf) currently holds the numbers. - Variables `n`, `group`, and `bin` manage sorting and grouping operations. - `lst` and `buf` are the arrays holding the numbers to be sorted. - `count`, `map`, and `tmap` are auxiliary arrays for counting and mapping during the sort. 2. **Main Function:** - Initializes the sorting process. -
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning