插入排序法
插入排序法类似于打扑克摸牌时的情况,每抽到一张牌都会根据牌面大小选择一个合适它的位置。插入排序法类似于此。所以插入排序法非常试用于被排序集合中有一定数量已经排序好的数列。
C++
#include<iostream>
using namespace std;
int main(){
int i,j,n,v,i1;
cout<<"输入排序数量:"<<endl;
cin>>n;
int a[n];
for(i=0;i<n;i++){
cout<<"输入第"<<i+1<<"数:";
cin>>a[i];
}
for(i=0;i<n;i++){
v=a[i];
j=i-1;
while(j>=0&&a[j]>v){
a[j+1]=a[j];
j--;
}
a[j+1]=v;
cout<<"第"<<i+1<<"次:";
for(i1=0;i1<n;i1++){
cout<<a[i1]<<",";
}
cout<<endl;
}
return 0;
}
python
###插入排序法
class sort:
def list_sort(self):
print("请输入要排序的数量n:")
n=int(input())
A=[None]*n
for i in range(0,n):
print("输入第"+str(i+1)+"个数")
A[i]=input()
for i in range(0,n):
sr=A[i]
j=i-1
while j>=0 and A[j]>sr :
A[j+1]=A[j]
j-=1
A[j+1]=sr
for i in range(len(A)):
print(A[i],end="")
print()
if __name__ == '__main__':
a=sort
a.list_sort(self=True)
——————————————————————————————————————————————————
请输入要排序的数量n:
5
输入第1个数
5
输入第2个数
4
输入第3个数
3
输入第4个数
2
输入第5个数
1
54321
45321
34521
23451
12345