Write the code to sort an array of integers.
Electrical Engineering Technical Interview Questions and Answers
(Continued from previous question...)
10. Write the code to sort an array of integers.
/* BEGIN C SNIPET */
void bubblesort (int x[], int lim) {
int i, j, temp;
for (i = 0; i < lim; i++) {
for (j = 0; j < lim-1-i; j++) {
if (x[j] > x[j+1]) {
temp = x[j];
x[j] = x[j+1];
x[j+1] = temp;
} /* end if */
} /* end for j */
} /* end for i */
} /* end bubblesort */
/* END C SNIPET */
Some optimizations that can be made are that a single-element array does
not need to be sorted; therefore, the "for i" loop only needs to go from
0 to lim-1. Next, if at some point during the iterations, we go through
the entire array WITHOUT performing a swap, the complete array has been
sorted, and we do not need to continue. We can watch for this by adding
a variable to keep track of whether we have performed a swap on this
iteration.
(Continued on next question...)
Other Interview Questions
- What is the difference between a Verilog task and a Verilog function?
- Given the following Verilog code, what value of "a" is displayed?
- Given the following snipet of Verilog code draw out the waveforms for clk ...
- What is the difference between the following two lines of Verilog code?
- What is the difference between ...
- Using the given, draw the waveforms for the following versions of a ...
- What is the difference between running the following snipet of code on Verilog vs Vera?
- Given $a = "5,-3,7,0,-5,12"; Write a program to find the lowest number in the string.
- Write the code to sort an array of integers.
- Write the code for finding the factorial of a passed integer. Use a recursive subroutine.
- In C, explain the difference between the & operator and the * operator.
- Write a function to determine whether a string is a palindrome (same forward as reverse, such as "radar" or "mom").
- Write a function to output a diamond shape according to the given (odd) input.
- Given the following FIFO and rules, how deep does the FIFO need to be to prevent underflowing or overflowing?
- Draw the state diagram to output a "1" for one cycle if the sequence "0110" shows up (the leading 0s cannot be used in more than one sequence).
- Explain the differences between "Direct Mapped", "Fully Associative", and "Set Associative" caches.
- Design a four-input NAND gate using only two-input NAND gates.
- Draw the state diagram for a circuit that outputs ...
|