Как визуализировать сортировку слияния с графиком? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Как визуализировать сортировку слияния с графиком? [закрыто]

Сообщение Anonymous »

Я пытаюсь визуализировать сортировку слияний, но мой код делает либо: < /p>

Успешно сортируя массив, но мгновенно, или, < /li>
Визуализируя что -то, но заставляет половину стержня отрицательными (list.indexof (), которые можно вернуть)
< /ol>
Я получил свой код сортировки Merge от Geeksforgeeks.

Код: Выделить всё

    public void Sort()
{
// Find the middle point
int m = (lts.Count-1) / 2;

// Sort first and second halves
mergeSort(0, m);
mergeSort(m + 1, lts.Count-1);
}

private void mergeSort(int l, int r)
{
int m = l + (r - l) / 2;
if (l < r)
{
// Sort first and second halves
mergeSort(l, m);
mergeSort(m + 1, r);
}
StartCoroutine(wSort(l, m, r));
}
private IEnumerator wSort(int l, int m, int r)
{
if (l < r)
{
int n1 = m - l + 1;
int n2 = r - m;

// Create temp arrays
int[] L = new int[n1];
int[] R = new int[n2];
int i, j;

// Copy data to temp arrays
for (i = 0; i < n1; ++i)
{
L[i] = lts[l + i];
}
for (j = 0; j < n2; ++j)
{
R[j] = lts[m + 1 + j];
}

// Merge the temp arrays
// Initial indexes of first
// and second subarrays
i = 0;
j = 0;

// Initial index of merged
// subarray array
int k = l;
while (i < n1 && j < n2)
{
if (L[i] 
Визуализатор работает на масштабированных белых прямоугольниках, которые перемещаются на основе положения значения, назначенного им в массиве, код: < /p>
    private void Update()
{
transform.localScale = new Vector3(1/curSAlg.scale, value / curSAlg.scale);
transform.DOMoveX(curSAlg.lts.IndexOf(value)/ curSAlg.scale, curSAlg.time*0.75f).SetEase(Ease.OutQuad);
}
< /code>
curSAlg
- текущий алгоритм сортировки - список для сортировки

Код: Выделить всё

DOMoveX()
происходит от dotween - назначенное значение

Подробнее здесь: https://stackoverflow.com/questions/796 ... th-a-graph
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»