编写程序,所完成的功能为:(1)建立数组,元素为12, 21, 5, 25, 31, 11, 30, 26, 53, 87, 20, 3, 65, 48, 67, 91。(2)使用快速排序法对数组进行排序。(3)使用二分查找法,搜索元素3的位置。
时间: 2023-10-09 12:07:10 浏览: 27
以下是实现以上功能的程序代码(使用Python语言实现):
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
less = [x for x in arr[1:] if x <= pivot]
greater = [x for x in arr[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
arr = [12, 21, 5, 25, 31, 11, 30, 26, 53, 87, 20, 3, 65, 48, 67, 91]
sorted_arr = quick_sort(arr)
print("排序后的数组:", sorted_arr)
target = 3
left, right = 0, len(sorted_arr) - 1
while left <= right:
mid = (left + right) // 2
if sorted_arr[mid] == target:
print("元素3的位置为:", mid)
break
elif sorted_arr[mid] < target:
left = mid + 1
else:
right = mid - 1
```
程序的输出结果为:
```
排序后的数组: [3, 5, 11, 12, 20, 21, 25, 26, 30, 31, 48, 53, 65, 67, 87, 91]
元素3的位置为: 0
```
说明元素3在排序后的数组的第一个位置,即索引为0。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)