Помогите разобраться, в 28 строчке, где начинается первый цикл for самого алгоритма выдает ошибку, что индекс выходит за рамки массива:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BubbleSort
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[5];
int i = 0, left = 0, right = 4, last = 5, z;
Random random = new Random();
for (i = 0; i < a.Length; i++)
{
a[i] = 0 + random.Next(100);
}
foreach (int element in a)
Console.Write(element + " ");
Console.WriteLine();
while (left < right)
{
for (i = right; i >= left; i--) //здесь ошибка
{
if (a[i - 1] > a[i])
{
z = a[i - 1];
a[i] = a[i - 1];
a[i - 1] = z;
last = i;
}
}
left = last + 1;
for (i = left; i < right; i++)
{
if (a[i - 1] > a[i])
{
z = a[i - 1];
a[i] = a[i - 1];
a[i - 1] = z;
}
}
right = last - 1;
}
foreach (int element in a)
Console.Write(element + " ");
Console.ReadKey();
}
}
}