一个数组中有20个元素,对前10个元素使用升序,后10个元素使用降序。元素都是整数。 用JS实现
时间: 2024-05-13 07:13:39 浏览: 10
可以使用JS的sort()方法来实现对数组的排序。代码如下:
```
var arr = [4, 8, 2, 9, 10, 3, 7, 1, 5, 6, 15, 11, 16, 20, 14, 12, 18, 13, 17, 19];
var firstHalf = arr.slice(0,10);
var secondHalf = arr.slice(10,20);
firstHalf.sort(function(a,b){
return a-b;
});
secondHalf.sort(function(a,b){
return b-a;
});
var sortedArr = firstHalf.concat(secondHalf);
console.log(sortedArr); //输出排序后的数组
```
以上代码实现了将一个长度为20的整数数组的前10个元素升序排序,后10个元素降序排序的功能。
相关问题
C语言编写程序从键盘输入10个整数,对前一半元素升序排序,对后一半元素降序排序
下面是使用冒泡排序实现的代码:
```c
#include <stdio.h>
int main() {
int arr[10];
int i, j, temp;
int mid = 10 / 2;
// 从键盘输入
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 前一半升序排序
for (i = 0; i < mid - 1; i++) {
for (j = 0; j < mid - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 后一半降序排序
for (i = mid; i < 10 - 1; i++) {
for (j = mid; j < 10 - i + mid - 1; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出结果
printf("排序后的数组为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输入示例:1 3 5 7 9 2 4 6 8 0
输出示例:0 1 2 3 4 9 8 7 6 5
输入n个整数(不超过100),存放到数组a中,按升序或降序排序并输出
可以使用冒泡排序、快速排序等算法对数组a进行排序,具体实现如下:
1. 冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。
按升序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("升序排序结果:", a)
```
按降序排序的冒泡排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 冒泡排序
for i in range(n-1):
for j in range(n-i-1):
if a[j] < a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print("降序排序结果:", a)
```
2. 快速排序
快速排序是一种常用的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
按升序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] >= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] <= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("升序排序结果:", a)
```
按降序排序的快速排序代码如下:
```python
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 快速排序
def quick_sort(a, left, right):
if left >= right:
return
i, j = left, right
pivot = a[left]
while i < j:
while i < j and a[j] <= pivot:
j -= 1
a[i] = a[j]
while i < j and a[i] >= pivot:
i += 1
a[j] = a[i]
a[i] = pivot
quick_sort(a, left, i-1)
quick_sort(a, i+1, right)
quick_sort(a, 0, n-1)
print("降序排序结果:", a)
```