![]() |
| ||
| C++ Reorder random numbers I have random numbers such as 1 6 8 5 7 3 9 2 4 in a 1 dimensional array what for loop do I use to reorder the numbers from 1 through 9? thanks. |
| ||
| Re: C++ Reorder random numbers Why wouldn't you just assign the array members 1-9? int i, array[9]; |
| ||
| Re: C++ Reorder random numbers You need a bubble sort algo. You need to compare the first number to the second, and swap accordingly. or...what you could do, which would be a lot easier assign a temp array of the same size, run a loop to find the smallest number plop the result in the first element of the second array set the value u just moves in the first array to zero run the loop 9 time. :) |
| ||
| Re: C++ Reorder random numbers >You need a bubble sort algo. Please don't suggest bubble sort if other options are available. |
| ||
| Re: C++ Reorder random numbers How about a shell-sort, this one has three nested for loops ... [php] // shell sort routine of n items in array[n] void shellsort(int *array, int n) { int basectr, curctr, gapctr, gap, temp; // reduce gap by 1/2 each loop for(gap = n / 2; gap > 0; gap /= 2) { for(basectr = gap; basectr < n; basectr++) { for(curctr = basectr - gap; curctr >= 0; curctr -= gap) { gapctr = curctr + gap; if (array[curctr] > array[gapctr]) { temp = array[curctr]; array[curctr] = array[gapctr]; array[gapctr] = temp; } else break; } } } } [/php] |
| ||
| Re: C++ Reorder random numbers Quote:
:rolleyes: |
| ||
| Re: C++ Reorder random numbers >Why? Because bubble sort is one of the worst sorting algorithms invented, promotes bad habits, and any of the other quadratic sorts are equally good practice. I personally believe that bubble sort should only be used as an example of how not to sort data. |
| ||
| Re: C++ Reorder random numbers Quote:
Sadly though, it is still taught, and without your explination as to why not to suggest this algo, was a little put off(your first post). As a comp sci student who has had years of C++ experience, it seemed like a smart way to start learning sorting. Is the speed of the algo is in question, or just he methodology? Time for sorting with numbers under the curve of the function for the algo (which I believe this appilcation would have been ok for) are minimal. We are talking milliseconds. understandbly when the dataset moves into the range of millions, there are other methods to improve overall performace time. As for the implementaton, I tend to agree with you as it tends messy. Now that I can understand where you are coming from, I won't suggest it again. Gnome |
| ||
| Re: C++ Reorder random numbers how can you reorder numbers that are user input using selection sort in a 1 dimension array and output each element |
| ||
| Re: C++ Reorder random numbers >Sadly though, it is still taught Indeed. >Is the speed of the algo is in question Yes, always. Bubble sort (as taught) does a lot of unnecessary work. It can be improved slightly, but that's almost always left as an exercise. >understandbly when the dataset moves into the range of millions Thousands. Bubble sort's growth is such that even sorting 10,000 records could be noticeably slow (less than that if the records are non-trivial). If you have millions of records then a suitable data structure or an nlogn sort would be more appropriate. The quadratic sorts are only useful for small data sets, or as components in implementing a more sophisticated algorithm. >how can you reorder numbers that are user input using selection sort in a 1 dimension array and output each element You've asked this same question four times if I recall correctly. I also recall answering it fully, with code examples. What's the problem? |
| All times are GMT -4. The time now is 12:09 am. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC