Quick Sort Recursive Function The function quick_sort sorts an array of integers recursively. Translate this function into MIPS code. Write a read_array function that asks the user to input the number of elements n (must be greater than 1), allocates an array of n integers dynamically on the heap, reads n integers and stores them in the array, and returns the address of the allocated array and the number of elements in $v0 and $v1, respectively. Write a function print_array that prints an array of n integers. Write a main function that calls the functions read_array, print_array (before sorting), quick_sort, and print_array (again after sorting). Test your program by entering different arrays and check if sorting works properly. void quick_sort(int array[], int n) { int i = 0; int j = -1; int pivot = array[(i+j)/2]; while (i <= j) { while (array[i]< pivot) i++; while (array[j] > pivot) j--; if (i <= j) { } int temp array[i]; array[i] = array[j]; array[j] temp; = i++; j--; // i = low index //j high index // pivot = middle value // swap array[i] // with array[j] } if (j> 0) quick_sort(&array[0], j+1); if (i < n-1) quick_sort (&array[i], n-i); } } void print_array (int array[], int n) { // Display the n elements of array[] } // Recursive call 1 // Recursive call 2 (int array[], int n) read_array() { // Ask the user to enter n and allocate the array dynamically // Ask the user to input n elements of type int // The user input should be stored in array[] // Return the address of the array[] in $ve and return n in $v1
Quick Sort Recursive Function The function quick_sort sorts an array of integers recursively. Translate this function into MIPS code. Write a read_array function that asks the user to input the number of elements n (must be greater than 1), allocates an array of n integers dynamically on the heap, reads n integers and stores them in the array, and returns the address of the allocated array and the number of elements in $v0 and $v1, respectively. Write a function print_array that prints an array of n integers. Write a main function that calls the functions read_array, print_array (before sorting), quick_sort, and print_array (again after sorting). Test your program by entering different arrays and check if sorting works properly. void quick_sort(int array[], int n) { int i = 0; int j = -1; int pivot = array[(i+j)/2]; while (i <= j) { while (array[i]< pivot) i++; while (array[j] > pivot) j--; if (i <= j) { } int temp array[i]; array[i] = array[j]; array[j] temp; = i++; j--; // i = low index //j high index // pivot = middle value // swap array[i] // with array[j] } if (j> 0) quick_sort(&array[0], j+1); if (i < n-1) quick_sort (&array[i], n-i); } } void print_array (int array[], int n) { // Display the n elements of array[] } // Recursive call 1 // Recursive call 2 (int array[], int n) read_array() { // Ask the user to enter n and allocate the array dynamically // Ask the user to input n elements of type int // The user input should be stored in array[] // Return the address of the array[] in $ve and return n in $v1
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Answer the given question with a proper explanation and step-by-step solution.
solve using mips assembly language on MARS MIPS simulator.
![Quick Sort Recursive Function
The function quick_sort sorts an array of integers recursively. Translate this function into MIPS
code. Write a read_array function that asks the user to input the number of elements n (must be
greater than 1), allocates an array of n integers dynamically on the heap, reads n integers and stores
them in the array, and returns the address of the allocated array and the number of elements in $v0
and $v1, respectively. Write a function print_array that prints an array of n integers. Write a main
function that calls the functions read_array, print_array (before sorting), quick_sort, and
print_array (again after sorting). Test your program by entering different arrays and check if
sorting works properly.
void quick_sort(int array[], int n) {
int i = 0;
int j = -1;
int pivot = array[(i+j)/2];
while (i <= j) {
while (array[i]< pivot) i++;
while (array[j] > pivot) j--;
if (i <= j) {
}
int temp = array[i];
=
array[i] array[j];
array[j] temp;
i++;
j--;
// i low index
//j high index
=
// pivot = middle value
// swap array[i]
// with array[j]
}
if (j > 0) quick_sort (&array[0], j+1);
if (i < n-1) quick_sort(&array[i], n-i);
}
}
void print_array (int array[], int n) {
// Display the n elements of array[]
}
// Recursive call 1
// Recursive call 2
(int array[], int n) read_array () {
// Ask the user to enter n and allocate the array dynamically
// Ask the user to input n elements of type int
// The user input should be stored in array[]
// Return the address of the array[] in $ve and return n in $v1](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F331f0326-c416-4c24-a8c2-63d082d706c2%2F50437812-d2e0-40c9-9b38-4cb6905e55e9%2F5nq5jot_processed.jpeg&w=3840&q=75)
Transcribed Image Text:Quick Sort Recursive Function
The function quick_sort sorts an array of integers recursively. Translate this function into MIPS
code. Write a read_array function that asks the user to input the number of elements n (must be
greater than 1), allocates an array of n integers dynamically on the heap, reads n integers and stores
them in the array, and returns the address of the allocated array and the number of elements in $v0
and $v1, respectively. Write a function print_array that prints an array of n integers. Write a main
function that calls the functions read_array, print_array (before sorting), quick_sort, and
print_array (again after sorting). Test your program by entering different arrays and check if
sorting works properly.
void quick_sort(int array[], int n) {
int i = 0;
int j = -1;
int pivot = array[(i+j)/2];
while (i <= j) {
while (array[i]< pivot) i++;
while (array[j] > pivot) j--;
if (i <= j) {
}
int temp = array[i];
=
array[i] array[j];
array[j] temp;
i++;
j--;
// i low index
//j high index
=
// pivot = middle value
// swap array[i]
// with array[j]
}
if (j > 0) quick_sort (&array[0], j+1);
if (i < n-1) quick_sort(&array[i], n-i);
}
}
void print_array (int array[], int n) {
// Display the n elements of array[]
}
// Recursive call 1
// Recursive call 2
(int array[], int n) read_array () {
// Ask the user to enter n and allocate the array dynamically
// Ask the user to input n elements of type int
// The user input should be stored in array[]
// Return the address of the array[] in $ve and return n in $v1
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps with 5 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
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.Recommended textbooks for you
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education