02-javascript
1.找出数组var arr = [12,56,25,5,82,51,22]中的最大值和最小值。
var arr = [12, 56, 25, 5, 82, 51, 22];
var max = arr[0];//最大值
var min = arr[0];//最小值
for (var i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
};
if (min > arr[i]) {
min = arr[i];
};
};
console.log(max, min);
2.什么是冒泡排序,利用冒泡排序的原理,将数组var arr = [12,56,25,5,82,51,22]进行正序排序。
冒泡排序,如果从小到大排序,是将数据两两比较,若前面的数据大于后面的数据,则交换位置
var arr = [12, 56, 25, 5, 82, 51, 22];
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
};
};
};
console.log(arr);
3.什么是选择排序,利用选择排序的原理,将数组var arr = [12,56,25,5,82,51,22]进行倒序排序。
选择排序是在没有排序的数据中找到最大或最小值,放在起始位置,然后再从没有排序的数据中继续找最大或最小值放在末尾,重复操作
var maxIndex = 0; //最小值索引
var temp; //交换数据的中间变量
for (var i = 0; i < arr.length - 1; i++) {
maxIndex = i;
for (var j = i + 1; j < arr.length; j++) {
if (arr[maxIndex] < arr[j]) {
maxIndex = j;
};
};
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
};
console.log(arr);
var maxValue = arr[0];
var minValue = arr[arr.length - 1];
alert(‘最大值为’ + maxValue + ‘\n’ + ‘最小值为’ + minValue);
console.log(minValue, maxValue);
