【C】排序算法之——插入排序(直接插入排序)
来源:互联网 发布:魔卡少女樱之我是知世 编辑:程序博客网 时间:2024/05/22 08:21
插入排序分为直接插入排序和折半插入排序
插入排序:稳定,时间复杂度 O(n^2)
我们这次先来试试直接插入排序
#include<stdio.h>void Print(int *a)//打印函数 {for(int i=0;a[i]!='\0';i++)//打印每一次排序的结果 printf("%d ",a[i]);printf("\n");//输个换行符}void Insert(int *a){int j;int k;int temp = 0; for(int i=1;a[i]!='\0';i++)//假设第一个元素已经是有序队列 {for(j=0;j<i&&a[j]<a[i];)j++;printf("第%d次直接插入排序:",i);if(i!=j){temp = a[i];//运用中间变量temp进行交换for(k = i-1;k>=j;k--)a[k+1]=a[k];a[j] = temp; //把中间变量给a[i];}Print(a); } }int main(){int a[10]={1,3,5,7,9,2,4,6,8}; Print(a);Insert(a);//进行插入排序printf("直接插入排序结果如下:\n"); Print(a);return 0;}
然后继续第6次排序到最后,同样的方法,就排完了
2 0
- 【C】排序算法之——插入排序(直接插入排序)
- 排序算法—插入排序之直接插入排序
- 排序算法系列——直接插入排序(C++)
- 排序算法——插入排序(直接插入排序、折半插入排序、希尔排序)
- 算法之插入排序——直接插入排序
- Java排序算法总结之(一)——插入排序(直接插入排序、折半插入排序、希尔排序)
- 排序算法之——直接插入排序(二)
- 算法-插入排序之直接插入排序
- 排序算法-插入排序之直接插入
- 算法—直接插入排序
- java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 算法---插入排序(直接插入排序)
- 排序——插入排序之直接插入排序
- java算法之二直接插入排序(插入排序)
- 排序算法之直接插入排序算法
- 第八天 java转Objective-C工具 J2ObjC
- 使用AsyncHttpClient进行网络连接的时候,参数不能传到后台,导致无法传参
- 为什么Java中synchronized同步的对象不能是Integer等类型
- python 数据清理诺干错误
- 自定义可以滚动TextView
- 【C】排序算法之——插入排序(直接插入排序)
- 设计模式之一单例模式
- 53. Maximum Subarray
- iOS 多线程处理 ----NSThread, NSOperation,GCD
- JAVA-WEB开发第一讲[2016-06-04]eclipse的下载
- 第九天 iOS 绘图
- 五行、八卦、风水与算命
- UITextView使用中的那些坑
- 【杭电】[1102]Constructing Roads