This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
where 'x' is the integer array name, 'n' is the number of elements in 'x'.
This for loop sorts the elements of the array in ascending order. To sort in descending order, change "if ( x[ i ] < x[ i + 1 ] )" to "if ( x[ i ] > x[ i + 1 ] )"
I have no way of testing all of these, but I'm pretty sure they'll work.
I want to know if this is possible:" Writing a program that sorts an array by using only a single loop."; I dont want the solution but I wanted to know if this is really feasible.
Short answer: Any algorithm can be reworked as a single loop.
For this problems, you can implement what amounts to a bubble sort by using two indices (say i and j) and just have all the initialization, incrementing and termination expressions in a handful of if/then/else statements at the bottom of the single loop. It would still execute in O(n^2) time, but it would technically be a single loop.