Успешно сортируя массив, но мгновенно, или, < /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Код: Выделить всё
ltsКод: Выделить всё
DOMoveX()Код: Выделить всё
valueПодробнее здесь: https://stackoverflow.com/questions/796 ... th-a-graph
Мобильная версия