#include <stdio.h>
#include "windows.h"
#define MaxVertex 6
#define INF 210000000
#define N 7
void bubbleSort(int matrix[], int n) {
int x = 0;
for (int i = 0; i < n - 1; ++i) {
if (x == n - i) return;
x = 0;
for (int j = 1; j < n - i; ++j) {
if (matrix[j - 1] > matrix[j]) {
int tmp = matrix[j];
matrix[j] = matrix[j - 1];
matrix[j - 1] = tmp;
} else x++;
}
}
}
void bubbleSort1(int matrix[], int n) {
for (int i = 0; i < n - 1; ++i) {
int flag = 1;
for (int j = 1; j < n - i; ++j) {
if (matrix[j - 1] > matrix[j]) {
flag = 0;
int tmp = matrix[j];
matrix[j] = matrix[j - 1];
matrix[j - 1] = tmp;
}
}
if (flag) return;
}
}
void insertSort(int arr[], int size) {
for (int i = 1; i < size; ++i) {
for (int j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void selectSort(int arr[], int size) {
int left = 0, right = size - 1;
while (left < right) {
int max = left;
int min = right;
for (int j = left; j <= right; ++j) {
if (arr[min] > arr[j]) min = j;
if (arr[max] < arr[j]) max = j;
}
swap(&arr[right], &arr[max]);
if (min == right) min = max;
swap(&arr[left], &arr[min]);
left++;
right--;
}
}
int main() {
int matrix[N] = {4, 2, 7, 1, 5, 3, 6};
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j)
printf("%d ", matrix[i][j]);
putchar('\n');
}
}