1、 声明一个int数组,数组可存放10个元素,元素列表为{1,2,3,4,5,6,7,9,10},用折半查找法查找6输出6的下标,把8插入到数组中,使得数组变成{1,2,3,4,5,6,7,8,9,10}。(将数组中要插入位置后面的所有元素向后移动一
时间: 2024-05-23 22:07:22 浏览: 69
折半查找法,也称二分查找法,是一种高效的查找算法。它的前提是待查找的序列有序,它的基本思想是将序列分成两部分,通过比较中间元素与目标值的大小关系,来确定下一步查找的方向。下面是具体的实现过程:
1. 声明一个int数组,数组可存放10个元素,元素列表为{1,2,3,4,5,6,7,9,10}。
```
int arr[10] = {1,2,3,4,5,6,7,9,10};
```
2. 使用折半查找法查找6并输出其下标。
```
int left = 0;
int right = 9;
int mid = 0;
int target = 6;
while (left <= right) {
mid = (left + right) / 2;
if (arr[mid] == target) {
cout << "6的下标为:" << mid << endl;
break;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
```
3. 将8插入到数组中,使得数组变成{1,2,3,4,5,6,7,8,9,10}。
```
int insertIndex = 7; //要插入位置的下标
int insertValue = 8; //要插入的值
for (int i = 9; i >= insertIndex; i--) { //将要插入位置后面的元素向后移动
arr[i+1] = arr[i];
}
arr[insertIndex+1] = insertValue; //将要插入的值插入到对应位置
```
阅读全文