using System.Collections.Generic;
public static void Main()
var intCountIncrement = 1;
var intPreviousIndex = 0;
var A = new int[] { 4, 8, 8, 12, 15 };
var listResult = new List<int> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
for (int i = 0; i < A.Length; i++)
intPreviousVal = A[i - 1];
for (var j = 0; j < listResult.Count; j++)
intCount = j + intCountIncrement;
intPreviousIndex = listResult.IndexOf(intPreviousVal);
if (A[i] == listResult[intPreviousIndex])
listResult.Insert(intPreviousIndex + 1, A[i]);
else if (A[i] == intCount)
foreach (var number in listResult)
Console.WriteLine(number);