2020/01/19(Sun) 00:05:09 編集(投稿者)
■No93712 (コウキ さん) に返信
> 配列の位置も必要情報になります。
> 配列の位置によって、属性が定まっており、ソートしてしまうとバラバラになってしまうためです。
格納先をリストにすれば簡単です。
static void Main(string[] args) {
var array = new int[10];
var lst = new List<int>();
var rnd = new System.Random();
for (int i = 0; i < array.Length; i++) {
array[i] = rnd.Next(0, 100);
}
foreach (var value in array) {
bool inserted = false;
for (int i = 0; i < lst.Count; i++) {
if (value > lst[i]) {
lst.Insert(i, value);
inserted = true;
break;
}
}
if (!inserted) {
lst.Add(value);
}
if (lst.Count > 5) {
lst.RemoveAt(5);
}
}
foreach (var value in lst) {
Console.WriteLine("{0}", value);
}
Console.ReadKey();
}