一维数组的翻转
javascript
// 一维矩阵翻转
// 实例: arr = [1,2,3,4,5] => [5,4,3,2,1]
let n = readline()
let arr = readline().split(' ').map(Number)
// console.log(n,arr)
let temp = 0
for(let i = 0; i < n/2;i++){
temp = arr[i]
arr[i] = arr[n-i-1]
arr[n-i-1] = temp
}
console.log(arr)
n*n矩阵的翻转
- 水平翻转
javascript
// 二维矩阵水平翻转
// 实例
// 1 2 3 7 8 9
// 4 5 6 =》 4 5 6
// 7 8 9 1 2 3
let n = readline()
var arr = []
for(let i = 0; i < n;i++){
arr[i] = readline().split(' ').map(Number)
// for(let j = 0;j < n;j++){
// arr[i][j] = arr[i][j]
// }
}
// console.log('a',arr)
for(let i = 0; i <= n/2; i++){
for(let j = 0; j < n;j++){
let temp = 0;
temp = arr[i][j]
arr[i][j] = arr[n-i-1][j]
arr[n-i-1][j] = temp
}
}
console.log(arr)
- 垂直翻转
javascript
// 二维矩阵垂直翻转
// 实例
// 1 2 3 3 2 1
// 4 5 6 =》 6 5 4
// 7 8 9 9 8 7
let n = readline()
var arr = []
for(let i = 0; i < n;i++){
arr[i] = readline().split(' ').map(Number)
// for(let j = 0;j < n;j++){
// arr[i][j] = arr[i][j]
// }
}
console.log('a',arr[0][0])
let temp
for(let i = 0; i < n; i++){
for(let j = 0; j <= n/2;j++){
console.log(temp)
temp = arr[i][j]
arr[i][j] = arr[i][n-j-1]
arr[i][n-j-1] = temp
}
}
console.log(arr)
- 水平垂直方向各翻转一次
javascript
// 二维矩阵水平垂直各翻转一次
// 实例
// 1 2 3 9 8 7
// 4 5 6 =》 6 5 4
// 7 8 9 3 2 1
let n = readline()
var arr = new Array()//定义一维数组
for(let i = 0 ; i < n ; i++){
arr[i] = readline().split(' ').map(Number)
}
// var result = [[],[],[]]
var result = []
//reverse(arr)
// console.log(arr)
//function reverse(arr){
for(let i = 0; i < n;i++){
for(let j = 0; j <= n/2;j++){
let temp = 0;
temp = arr[i][j];
arr[i][j] = arr[i][n-j-1];
arr[i][n-j-1] = temp
}
result[n-i-1] = arr[i]
}
console.log(result)
// document.write('<br>');
//}