почему не работает шейкер сортировка

#include<iostream>
#include"Header.h"
using namespace std;
#define N 80
void funcsortupgrade4(int array[], int size) {
    funcrand(array, N);
    int temp = 0, high = 1, low = N;
    size_t n = N;
    do {
        size_t newn = 0;
        while (high < low) {
            int flag = 0;
            for (size_t i = high; i < low; i++) {
                if (array[i - 1] > array[i]) {
                    flag = 1;
                    temp = array[i];
                    array[i] = array[i - 1];
                    array[i - 1] = temp;
                }
                newn = i;
            }
            n = newn;
            low--;
            for (int j = low; j > high; j--) {
                if (array[j - 1] < array[j]) {
                    flag = 1;
                    temp = array[j];
                    array[j] = array[j - 1];
                    array[j - 1] = temp;
                }
                newn = j;
            }
            n = newn;
            high++;
            if (flag == 0) break;
 
        }
 
    } while (n > 1);
    funcprint(array, N);
}

Ответы (0 шт):