У вас должна быть структура, которая содержит данные и значение:
Struct DataValue
{
string data;
int value;
}
подобно {"01", 1}
Затем сортируйте по значению и выводите данные, сортировка не сложная, если вы хотите выполнить обычную сортировку: первая сортировкапо значению, чтобы сделать список, как то, что вы показали.(для значений) теперь создайте пустой массив значений данных (с базовым размером массива), начните с последнего элемента и заполните его следующим образом:
int j = 0;
for (int i = a.Count - 1; i >= 0; i -= 2) // fill bottom of list
{
b[a.Count - 1 - j] = a[i];
j++;
}
j = 0;
for (int i = a.Count - 2; i >= 0; i -= 2) // fill root of list
{
b[j] = a[i];
j++;
}
При последнем выводе значений.
Я написал это в c #, это не очень отличается в c.вы получите:
List<int> a = new List<int>{1,2,3,4,5,6,7};
b==> 6,4,2,1,3,5,7
and for:
List<int> a = new List<int>{1,2,3,4,5,6};
b==> 5,3,1,2,4,6