Подреждане на номерата от Масив


0
ако имаме един масив:
double[] array = new double[] { 22, 32, 4343, 3, 5, 1, };

след това използваме
http://bg.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BC%D0%B5%D1%85%D1%83%D1%80%D1%87%D0%B5%D1%82%D0%BE

за да подредим числата по големина
ще получим следната поредица:1,3,5,22,32,4343
въпроса ми е следния:
как да направя да показва да ги подреди по големина + да показва кои номер от масива са или по-точно да стане :
1-6,3-4,5,22-1,32-2,4343-3

или ако може да стане по следният начин вместо числа да са зададени предварително променливи и да се изкарват променливите след числото

в C# Programming от baza12 (0 точки)


Отговори



0
Трябва ти речник - hashmap(java), dictionary (c#),това е най-лесният начин. По случай новия ми статус на нинджа, ето ти и малко код :http://pastebin.com/ttyzQBKm

от yonchoy (2134 точки)


0

Здравей,
можеш да използваш Dictionary и подреждането става по този начин.
Друг вариант е с 2 масива и използвайки някой от методите за сортиране(например Quicksort) да местиш едновременно стойностите от двата масива, като в единия масив ще са ти самите числа, а във втория първоначалните индекси.

Сетих се още един вариант, чрез indexof. Пазиш несортирания и сортирания масив и когато вземеш стойност от сортирания намираш индекса и с indexof в несортирания. Това ще е бавно за големи масиви или приложено в цикъл.




0
Първоначалния масив не ти е сортиран, това ще е много бавно.

от yonchoy (2134 точки)


0
Или просто сам си пишеш сортирането с намиране на най-малък елемент и поставянето му на първо място (което е бавно), като във втора променлива запазваш индекса на текущия най-малък елемент и когато стигне края на масива си го имаш..

от spareva (1375 точки)


0
Идеята, която искаш да изкажеш е правиш си масив помощник, който ще ти държи индексите на променливите. Имплементираш произволен метод за сортиране- bubble sort ect. Във функцията която, разменя местата на елементите swap(i,j) ще смениш и местата на елементите в масива помощник.

от yonchoy (2134 точки)

0
Ако му трябва само да ги изведе, без да ги пази след това, може и без помощен. Иначе да. Мисля че със знания от c#2 това е вариантът. В другите случаи се използва материал, който май не е учен още при тях.

от spareva (1375 точки)


1
Tuple

от staafl (5770 точки)