冒泡排序的代码请看 https://blog.csdn.net/JohnsonSmile/article/details/89386783
下面的bbsort是冒泡排序,ISsort是插入排序
import numpy as np;
import matplotlib.pyplot as plt;
from time import time;
from bubblesort import bbsort2 as bbsort;
def ISsort(l):
l_new=[l[0]];
for i in range(1,len(l)):
tag = False;
for j in range(len(l_new)):
if l_new[j]>l[i]:
l_new.insert(j,l[i]);
tag = True;
break;
if tag == False:
l_new.append(l[i]);
return l_new;
if __name__ == '__main__':
tt1 = [];
tt2 = [];
x = [i for i in range(1,900,3)];
for j in range(1,900,3):
height = np.round(np.random.rand(j)*100+100,2).tolist();
t1 = time();
height_new = bbsort(height);
t2 = time();
height = np.round(np.random.rand(j)*100+100,2).tolist();
t3 = time();
height_new2 = ISsort(height);
t4 = time();
tt1.append(t2-t1);
tt2.append(t4-t3);
plt.plot(x,tt1,'r--',label='bbsort');
plt.plot(x,tt2,'b--',label='ISsort');
plt.xlabel('length of list/k');
plt.ylabel('time/s');
plt.legend(loc = 'upper left');
plt.show();
结果图