首页 > 编程知识 正文

排序算法代码,java顺序表的输入

时间:2023-05-03 12:06:29 阅读:141633 作者:540

基本思想的每一步,根据要排序的元素的排序代码大小,将元素插入到之前排序的元素组中的适当位置。 插入直到插入所有元素。

插入第I(I=1)个元素时,之前的array[0]、array[1]、array[i-1]已经排序,此时array[i]的排序代码和array[i-1]

代码实现voidinsertsort(int*array,size_t n ) /直接插入排序(assert ) array ); int end=0; for(intI=0; i n-1; I ) { end=i; int tmp=array[end 1]; //end 1表示找到要插入数据while(end=0array[end]tmp ) tmp的插入位置(//在插入数据与前面的有序区间数据相比最小的情况下,//有end=-1,[ end1] ) //将大数据向后移动end--; } array[end 1]=tmp; }

时间复杂度和稳定性因素集合越接近有序,直接插入排序算法的时间效率越高

最佳情况:时间效率为o(n )

最坏情况:时间复杂度为o(n2 )

平均时间复杂度为o(n2 )

空间复杂性: o(1) ) ) ) ) )的空间复杂性。

稳定性:稳定性

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。