def sort_3dim_array(dim): dim_copy = list(map(list, dim)) length = len(dim_copy) # third dim for i in range(0, length): for j in range(0, length): dim_copy[i][j] = sort_asc(dim_copy[i][j]) return dim_copy
def sort_horizontal_asc_desc(matr): matrix = list(map(list, matr)) length = len(matrix) for i in range(0, length): if (i % 2 == 0): matrix[i] = sort_asc(matrix[i]) else: matrix[i] = sort_desc(matrix[i]) return matrix
def sort_vertical_asc(matr): matrix = list(map(list, matr)) length = len(matrix) for j in range(0, length): column = [] for i in range(0, length): column.append(matrix[i][j]) column = sort_asc(column) for i in range(0, length): matrix[i][j] = column[i] return matrix
def sort_snake_out(matr): matrix = list(map(list, matr)) length = len(matrix) snake_list = [] for f in range(0, length): for r in range(0, length): snake_list.append(matrix[f][r]) snake_list = sort_asc(snake_list) boundary = int(length / 2) + 1 for k in range(0, boundary): if (k != 0): for i in range((length - k - 1), (k - 1), -1): matrix[i][k - 1] = snake_list.pop(0) for j in range(k, length - k): matrix[k][j] = snake_list.pop(0) if (k == boundary - 1): break for n in range(k + 1, length - k): matrix[n][length - 1 - k] = snake_list.pop(0) for m in range((length - 2 - k), (k - 1), -1): matrix[length - k - 1][m] = snake_list.pop(0) return matrix
def sort_snake_special(matr): matrix = list(map(list, matr)) length = len(matrix) snake_list = [] for f in range(0, length): for r in range(0, length): snake_list.append(matrix[f][r]) snake_list = sort_asc(snake_list) if ((length - 1) % 4 != 0): flag = True else: flag = False for c in range(0, length - 1, 4): for r in range(0, length - 1, 2): matrix[r][c] = snake_list.pop(0) matrix[r][c + 1] = snake_list.pop(0) matrix[r + 1][c + 1] = snake_list.pop(0) matrix[r + 1][c] = snake_list.pop(0) if flag and (c + 4 >= length - 1): break for m in range(0, 4): matrix[length - 1][c + m] = snake_list.pop(0) for r in range(length - 2, 0, -2): matrix[r][c + 3] = snake_list.pop(0) matrix[r][c + 2] = snake_list.pop(0) matrix[r - 1][c + 2] = snake_list.pop(0) matrix[r - 1][c + 3] = snake_list.pop(0) if flag: matrix[length - 1][length - 3] = snake_list.pop(0) matrix[length - 1][length - 2] = snake_list.pop(0) for i in range(length - 1, -1, -1): matrix[i][length - 1] = snake_list.pop(0) else: for i in range(0, length): matrix[i][length - 1] = snake_list.pop(0) return matrix
def sort_horizontal_asc(matr): matrix = list(map(list, matr)) length = len(matrix) for i in range(0, length): matrix[i] = sort_asc(matrix[i]) return matrix