软件测试算法题更新中

数组重排序
本文介绍了一种数组重排序算法,该算法能够将一个混有序列的数组(包含正数和负数)重新排列成一正一负交错的形式。在转换过程中,保持了原有数值的相对顺序不变,当某一种符号的数字较多时,多余的数字会按照原始顺序排列在数组的末尾。

1、将一个数组包含有混序的正负数,按一正一负顺序排列,原来的相对位置不变,某一个符号的数较多时,依次按照原顺序排在最后面。
[1, 2, 3, 7, 9, -5, -3, -4, -7, -8, -11, -3, -2]

i = 0
j = 0
array = [1, 2, 3, 7, 9, -5, -3, -4, -7, -8, -11, -3, -2]
result = []
while True:
    while i < len(array):
        a = array[i]
        i += 1


        if a > 0:
            result.append(a)
            break


    while j < len(array):
        b = array[j]
        j += 1
        if b < 0:
            result.append(b)
            break


    if i == len(array) and j == len(array):
        break
print(result)
参考引用中未提及软件测试中遇到的算法题相关内容,但结合专业知识,软件测试中常见的算法题类型如下: ### 排序算法相关 排序算法软件测试中用于对数据进行排序和验证排序功能的正确性。例如,冒泡排序、快速排序、归并排序等。以下是快速排序的 Python 代码示例: ```python def quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quick_sort(left) + middle + quick_sort(right) ``` ### 搜索算法相关 搜索算法用于在数据集中查找特定元素。常见的搜索算法包括线性搜索、二分搜索等。以下是二分搜索的 Python 代码示例: ```python def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1 ``` ### 字符串处理算法相关 字符串处理算法用于处理和验证字符串数据。例如,字符串匹配、字符串反转、字符串替换等。以下是字符串反转的 Python 代码示例: ```python def reverse_string(s): return s[::-1] ``` ### 数据结构相关 数据结构如栈、队列、链表等在软件测试中也经常用到。例如,实现一个栈并验证其基本操作(入栈、出栈)的正确性。以下是栈的 Python 代码示例: ```python class Stack: def __init__(self): self.items = [] def is_empty(self): return len(self.items) == 0 def push(self, item): self.items.append(item) def pop(self): if not self.is_empty(): return self.items.pop() return None def peek(self): if not self.is_empty(): return self.items[-1] return None def size(self): return len(self.items) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值