algoalgo-world
algoalgo-world/sort/exchange-sort
sort/exchange-sort

Exchange Sort

best
O(n^2)
average
O(n^2)
worst
O(n^2)
space
O(1)
stability
unstable
method
comparison

pick a language to open the code

def exchange_sort(a):
    n = len(a)
    for i in range(n - 1):
        for j in range(i + 1, n):
            if a[j] < a[i]:
                a[i], a[j] = a[j], a[i]
function exchangeSort(a) {
  for (let i = 0; i < a.length - 1; i++) {
    for (let j = i + 1; j < a.length; j++) {
      if (a[j] < a[i]) [a[i], a[j]] = [a[j], a[i]];
    }
  }
}
static void swap(int a[], int i, int j) {
    int t = a[i];
    a[i] = a[j];
    a[j] = t;
}

void exchange_sort(int a[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n; j++) {
            if (a[j] < a[i]) swap(a, i, j);
        }
    }
}
void exchange_sort(std::vector<int>& a) {
    for (size_t i = 0; i + 1 < a.size(); i++) {
        for (size_t j = i + 1; j < a.size(); j++) {
            if (a[j] < a[i]) std::swap(a[i], a[j]);
        }
    }
}
static void ExchangeSort(int[] a) {
    for (int i = 0; i < a.Length - 1; i++) {
        for (int j = i + 1; j < a.Length; j++) {
            if (a[j] < a[i]) (a[i], a[j]) = (a[j], a[i]);
        }
    }
}
static void swap(int[] a, int i, int j) {
    int t = a[i];
    a[i] = a[j];
    a[j] = t;
}

static void exchangeSort(int[] a) {
    for (int i = 0; i < a.length - 1; i++) {
        for (int j = i + 1; j < a.length; j++) {
            if (a[j] < a[i]) swap(a, i, j);
        }
    }
}
watch it run, then read it