排序学习ING.......

  排序作为计算机中最为基础的算法,当然是在面试时最为受考官欢迎的考点之一。因此很有必要对各个排序进行分析和比较。

一、插入排序。

   首先当然是最简单的插入排序了,插入排序显而易见就是从前往后的排依次排好序将后面的元素一一与前面的比较找到自己的合适位置,故名为插入。

 代码如下:

     

void insertSort(int *a,const int N)
 {
     int flag = 0,value = 0;
     for(int i = 1;i < N;i++)
     {  
         value = a[i];
         flag = i;
     	for(int j = i-1;j >= 0; j--)
     	{
     		if(value < a[j])
     		{
     			swap(a[flag],a[j]);
     			flag=j;
     		}else{
     			continue;
     		}
     	}
     }
 }


   算法分析:很清楚的由代码可知其时间复杂度为:O(N*N)空间复杂度为O(1).


   

你可能感兴趣的:(算法,面试,插入排序)