- 二分查找的测试程序,从命令行参数中获取测试列表的各元素以及所要查找的关键字。(主要是列表参数的处理)
import sys
L=list(map(int,sys.argv[1].split(",")))
target=int(sys.argv[2])
def BinarySearch():
print(L)
print(target)
left=0
right=len(L)-1
while left<=right:
mid=(left+right)//2
if L[mid] < target:
left=mid+1
elif L[mid] > target:
right=mid-1
else:return mid
return -1
def main():
print("查找的关键字位于列表的索引:",BinarySearch())
if __name__ == '__main__':
main()
import sys
L=list(map(int,(sys.argv[1].split(","))))
def merge(left,right):
merged=[]
i,j=0,0
left_len,right_len=len(left),len(right)
while i<left_len and j<right_len:
if left[i]<=right[j]:
merged.append(left[i])
i+=1
else:
merged.append(right[j])
j+=1
merged.extend(left[i:])
merged.extend(right[j:])
return merged
def mergeSort(a):
if(len(a)<=1):
return a
mid=len(a)//2
left=mergeSort(a[:mid])
right=mergeSort(a[mid:])
return merge(left,right)
if __name__ == '__main__':
L=mergeSort(L)
print(L)
import sys
L=list(map(int,(sys.argv[1].split(","))))
def selectionSort():
for i in range(0,len(L)):
m=i
for j in range(i+1,len(L)):
if L[j]<L[m]:
m=j
L[m],L[i]=L[i],L[m]
print(L)
if __name__ == '__main__':
selectionSort()
import sys
L=list(map(int,sys.argv[1].split(",")))
def quickSort(a,low,high):
i=low
j=high
if i>=j:
return a
key=a[i]
while i<j:
while i<j and a[j]>=key:
j-=1
a[i]=a[j]
while i<j and a[i]<=key:
i+=1
a[j]=a[i]
a[i]=key
quickSort(a,low,i-1)
quickSort(a,j+1,high)
if __name__ == '__main__':
quickSort(L,0,len(L)-1)
print(L)
import sys
L=list(map(int,sys.argv[1].split(",")))
class Stack:
def __init__(self,L):
self.stack=L
def push(self,obj):
self.stack.append(obj)
def pop(self):
try:
return self.stack.pop()
except IndexError as e:
print("stack is empty")
def __str__(self):
return str(self.stack)
def main():
stack=Stack(L)
print(stack)
stack.push(10)
print(stack)
stack.pop()
stack.pop()
print(stack)
if __name__ == '__main__':
main()
import random
a=set()
b=set()
i=0
while(i<10):
a.add(random.randint(0,10))
b.add(random.randint(0,10))
i+=1
print('集合a的内容:',a,',长度:',len(a),',最大值:',max(a),',最小值:',min(a))
print('集合b的内容:',b,',长度:',len(b),',最大值:',max(b),',最小值:',min(b))
print('交集:',a.intersection(b))
print('并集:',a.union(b))
print('差集',a.difference(b))