首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第三题:插入排序

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

如对列表:6,3,8,7,2,4,9,1,0,5 进行插入排序

I=1下标1开始

0:==6,3,8,7,2,4,9,1,0,5

Start…….

1:==[3,6],8,7,2,4,9,1,0,5

2:==[3,6,8],7,2,4,9,1,0,5

3:==[3,6,7,8],2,4,9,1,0,5

4:==[2,3,6,7,8],4,9,1,0,5

5:==[2,3, 4,6,7,8],9,1,0,5

6:==[2,3, 4,6,7,8,9],1,0,5

7:==[1,2,3, 4,6,7,8,9],0,5

8:==[0,1,2,3, 4,6,7,8,9],5

9:==[0,1,2,3, 4, 5,6,7,8,9]

End…….

java 编写:

public static void inserTionSort(int[] sortList){

/*

* 插入排序

*/

int tmpValue=0;

for(int i =1;i

int j=i-1;

if (sortList[j]>sortList[i]){

tmpValue=sortList[i];

while(j>=0 && tmpValue

sortList[j+1]= sortList[j];

j--;

}

sortList[j + 1] = tmpValue;

}

}

}

测试:

int sortList[] = ;

inserTionSort(sortList);

for(int i=0;i

}

输出结果:0,1,2,3,4,5,6,7,8,9,

c++ 编写:

void inserTionSort(int sortList[],int len){

int tmpValue =0;

for(int i=1;i

int j=i-1;

if (sortList[i]

tmpValue=sortList[i];

while (j>=0 && tmpValue

sortList[j+1]=sortList[j];

j--;

}

sortList[j+1]=tmpValue;

}

}

}

测试

int sortList[10]=;

int len=sizeof(sortList) / sizeof(int);

inserTionSort(sortList,len);

for(int i=0;i

printf("%d,",sortList[i]);

}

输出结果:0,1,2,3,4,5,6,7,8,9,

python 编写:

definserTionSort(sortList):

sortLen=len(sortList)

foriinrange(1,sortLen):

j=i-1

if(sortList[j]>sortList[i]):

tmpValue=sortList[i]

while( j>=andsortList[j]>tmpValue):

sortList[j+1]=sortList[j]

j=j-1

sortList[j +1] = tmpValue

sortList=[6,3,8,7,2,4,9,1,,5]

inserTionSort(sortList)

foriinrange(,len(sortList)):

print(sortList[i],end=',')

输出结果:0,1,2,3,4,5,6,7,8,9,

今天就到这了,明天继续,希望可以坚下来!加油 ! KONG!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180325G0KLU000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券