2018年5月23日16:58:35
闲来无事,复习一下算法
java版本1:次数为 list.size()*list.size()-1
public class test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(4);
list.add(3);
list.add(1);
list.add(2);
list.add(2);
list.add(2);
list.add(22);
list.add(2);
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size()-1; j++) {
int a = list.get(j);
int b = list.get(j+1);
if(a>b){
list.set(j, b);
list.set(j+1, a);
System.out.println(list.size());
}
}
}
System.out.println(list);
}
}
java 版本2:
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < list.size()-1-i; j++) {
int a = list.get(j);
int b = list.get(j+1);
System.out.println(++num);
if(a>b){
list.set(j, b);
list.set(j+1, a);
}
}
}
python 版本1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#算法
list1=[4,1,5,6,8,41,23,546,56,34,67,45,99]
#compare len(list1)*len(list1)-1
for x in range(len(list1)):
for i in range(len(list1)-1):
print list1
a = list1[i]
b = list1[i + 1]
if a>b:
list1[i]=b
list1[i+1]=a
print list1
python 版本2: 次数为len(list1)-1+len(list1)-2+len(list1)-3 ... 直到0
for x in range(len(list1)):
for i in range(len(list1)-x-1):
num = num+1
print num
a = list1[i]
b = list1[i + 1]
if a>b:
list1[i]=b
list1[i+1]=a
print list1