插入排序算法

来源:互联网 发布:广州mac口红专柜地址 编辑:程序博客网 时间:2024/04/28 21:10

最近要应聘,写点算法练练手

插入排序(从小到大)

时间复杂度:n2;

空间复杂度:0;

最佳情况:数组已从小到大排序

最差情况:数组从大到小排序

代码实现:

#include <stdio.h>void print_array(int array[], int num){int nIter;for(nIter=0; nIter<num; nIter++)printf("%d ", array[nIter]);printf("\n");}void insert_sort(int array[], int num){int nIter1=num-2;int nIter2;for(; nIter1>=0; nIter1--){int temp=array[nIter1];for(nIter2=nIter1+1; nIter2<num; nIter2++){if(array[nIter2]<temp)array[nIter2-1]=array[nIter2];elsebreak;}array[nIter2-1]=temp;print_array(array, num);}}void main(){int array[]={0, 30, 155, 1, 80, 300, 170, 40, 99};print_array(array, 9);insert_sort(array, 9);print_array(array, 9);}


原创粉丝点击