插入排序

    科技2022-07-12  148

    插入排序

    基本思路: 1 在数组中选择最前面的两个数据 分出大小 2 选择第三个数插入到两个数合适位置 在选择第四个数据插入 到前面的三个数当中 3 重复上面的步骤即可 输出正确的答案 示例代码如下

    #include<stdio.h> #include<iostream> #include<string.h> using namespace std; void Insertion(int *a,int n){ for(int i=1;i<n;i++){ int t=a[i]; //将需要的插入数据 储存到t int j=i-1; //已经排好序数据的最大下标位置 while(j>=0&&t<a[j]){ //遍历到 a[0]的位置 直到结束循环 a[j+1]=a[j]; //t能和t他自己交换的位置的后面位置变为和 t交换的数据 j--; //排好序的最下标位置 开始往前遍历 直到下标0 为止 } a[j+1]=t; //当结束循坏之后 说明此时的j+1是t的位置 将t插入就行了 这就是t的位置 printf("第%d次插",i); for(int i=0;i<n;i++) { printf("%d ",a[i]); } cout<<endl; } } int main(){ int a[6]={2,1,4,3,9,8}; int len=6; Insertion(a,len); return 0; }
    Processed: 0.013, SQL: 8