Click here to Skip to main content
15,917,997 members
Home / Discussions / C#
   

C#

 
AnswerRe: Multiple Loops Code Optimization Pin
Luc Pattyn11-Jun-18 3:50
sitebuilderLuc Pattyn11-Jun-18 3:50 
Hi,

what you wrote (at least the first loop) is a bubble-sort, which is quite inefficient for large arrays. There are other algorithms that basically use fewer comparison operations.

As for positions, you could merge all the remaining loops into one or two. Have a look at Dictionary<int,int>. You need to be careful when the array is allowed to contain duplicate values! Of course your positions should be stored in an array or some collection to support variable lengths.

There is a fundamental alternative, which does not modify the data array, instead it works on an index array, which holds positions, so initially it contains 0,1,2,...n-1 and finally it holds all the final positions. This in general is not the fastest approach, but it is pretty simple.

You don't have to write your own sorting code, how about:
int[] i = {...};
int[] j = (int[])i.Clone();
Array.Sort(j);


Advanced stuff: the Array.Sort() method allows you to specify a comparison method, which is useful when a special order is required, or when the array contains objects rather than numbers.

And if you allow for specialized solutions then the ultimate is:
int[] i = {9, 2, 7, 6, 1, 3, 5, 4, 8};
int[] j = {1, 2, 3, 4, 5, 6, 7, 8, 9};


Laugh | :laugh:
Luc Pattyn [My Articles] Nil Volentibus Arduum

Questionnice to know that a generic parameter of a function constrained to 'struct can .. Pin
BillWoodruff10-Jun-18 5:00
professionalBillWoodruff10-Jun-18 5:00 
AnswerRe: nice to know that a generic parameter of a function constrained to 'struct can .. Pin
Nathan Minier11-Jun-18 2:31
professionalNathan Minier11-Jun-18 2:31 
GeneralRe: nice to know that a generic parameter of a function constrained to 'struct can .. Pin
BillWoodruff11-Jun-18 5:33
professionalBillWoodruff11-Jun-18 5:33 
GeneralRe: nice to know that a generic parameter of a function constrained to 'struct can .. Pin
Nathan Minier13-Jun-18 8:21
professionalNathan Minier13-Jun-18 8:21 
QuestionDisplaying a grid of mixed controls from tabular data Pin Pin
Leif Simon Goodwin7-Jun-18 1:10
Leif Simon Goodwin7-Jun-18 1:10 
AnswerRe: Displaying a grid of mixed controls from tabular data Pin Pin
OriginalGriff7-Jun-18 1:19
mveOriginalGriff7-Jun-18 1:19 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Leif Simon Goodwin7-Jun-18 1:36
Leif Simon Goodwin7-Jun-18 1:36 
RantRe: Displaying a grid of mixed controls from tabular data Pin Pin
Richard Deeming7-Jun-18 2:12
mveRichard Deeming7-Jun-18 2:12 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
OriginalGriff7-Jun-18 2:24
mveOriginalGriff7-Jun-18 2:24 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Leif Simon Goodwin7-Jun-18 2:46
Leif Simon Goodwin7-Jun-18 2:46 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Eddy Vluggen7-Jun-18 11:40
professionalEddy Vluggen7-Jun-18 11:40 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Leif Simon Goodwin7-Jun-18 2:38
Leif Simon Goodwin7-Jun-18 2:38 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Richard MacCutchan7-Jun-18 3:52
mveRichard MacCutchan7-Jun-18 3:52 
GeneralRe: Displaying a grid of mixed controls from tabular data Pin Pin
Leif Simon Goodwin7-Jun-18 21:34
Leif Simon Goodwin7-Jun-18 21:34 
QuestionC# COM dll with same name and same location to work for two projects/modules Pin
Member 117321396-Jun-18 21:31
Member 117321396-Jun-18 21:31 
QuestionRe: C# COM dll with same name and same location to work for two projects/modules Pin
Richard MacCutchan6-Jun-18 21:53
mveRichard MacCutchan6-Jun-18 21:53 
AnswerRe: C# COM dll with same name and same location to work for two projects/modules Pin
Member 117321396-Jun-18 22:57
Member 117321396-Jun-18 22:57 
GeneralRe: C# COM dll with same name and same location to work for two projects/modules Pin
Richard MacCutchan6-Jun-18 23:05
mveRichard MacCutchan6-Jun-18 23:05 
GeneralRe: C# COM dll with same name and same location to work for two projects/modules Pin
OriginalGriff6-Jun-18 23:19
mveOriginalGriff6-Jun-18 23:19 
Questioncant send file bigger that 1 megabit ( Server_client ) *(Thanks For helping fixed) Pin
Hussein Tb6-Jun-18 3:20
Hussein Tb6-Jun-18 3:20 
SuggestionRe: cant send file bigger that 1 megabit ( Server_client ) Pin
Richard MacCutchan6-Jun-18 3:56
mveRichard MacCutchan6-Jun-18 3:56 
AnswerRe: cant send file bigger that 1 megabit ( Server_client ) Pin
Gerry Schmitz6-Jun-18 7:08
mveGerry Schmitz6-Jun-18 7:08 
QuestionRe: cant send file bigger that 1 megabit ( Server_client ) Pin
Eddy Vluggen6-Jun-18 11:21
professionalEddy Vluggen6-Jun-18 11:21 
AnswerRe: cant send file bigger that 1 megabit ( Server_client ) Pin
Hussein Tb6-Jun-18 18:44
Hussein Tb6-Jun-18 18:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.