首页 > 编程知识 正文

简单选择排序算法c语言,c++算法

时间:2023-05-06 06:34:14 阅读:141638 作者:3310

直接插入排序1 .插入排序(Insertion-Sort )按大小将要排序的数据插入上一个已排序的适当位置,直到插入所有数据。

2 .插入排序步骤2.1,哨兵=创建临时变量,并将要插入的数据分配给它。 2.2、从后面比较插入的数据,如果大于前面,则记录下标,将数据向后移动,直到插入的数据遇到比其小的数据。 2.3、将临时变量分配给当前记录下标。 2.4、for环完成所有数据插入。 3 .插入排序视频演示

4 .完整代码# include stdio.hvoiddisplay (intarray [ ],int size ) { for } inti=0; i size; I ) {printf('%d ',array[i] ); }printf((n ); }voidinsertsort(intarray[],int size ) ) for ) intI=1; i size; I ) ) /第一个数一定是规则的。 从第二个数开始扫描,以获得有序阵列int temp=array[i];//取出第I个个数,与前面的i-1的个数进行比较后,插入适当的位置int j=i - 1; //由于前i-1的个数从小到大排列,所以只要当前被比较的数(array[j] )大于temp,就可以将该数与while(j=0array[j]temp ) (/当j 0或array[j] )进行比较//前瞻性比较(//退出循环的array[j 1]=temp; //array[i]在正确的位置插入//打印每次排序的结果display(array,size ); }}int main () intarray ) )={ 49,38,65,97,76,13,27,49,10 }; intsize=sizeof(array )/sizeof (int ); //打印原始数据printf(%d(n )、size ); display(Array,size ); insertsort(Array,size ); 返回0; )5.显示结果(显示每个插入的信息) ) ) )。

6 .算法分析时间的复杂度:平均o(n )2),最高o ) n ),最差o ) n )2) ) )。

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

稳定性:稳定性

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