码迷,mamicode.com
首页 > 移动开发 > 详细

Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频

时间:2014-05-18 03:19:57      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:插入排序   算法   c   

转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/26059615       

       插入排序:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

一.插入排序算法

/***************************************************************
*版权所有 (C)2014,公司名称。
*
*文件名称:插入排序法
*内容摘要:无
*其它说明:无
*当前版本:V1.0
*作   者:若云流风
*完成日期:2014.5.17
***************************************************************/
#include <stdio.h>

#define N  7

void disp(void);

int a[N]={5,0,7,1,12,11,9};

/*排序函数*/
void InsertionSort(void)  
{
	int j,p,temp;

	for(p=1;p<N;p++)
	{
		temp=a[p]; //a[p]和左面的有序数列去比较
/*j>0保证不溢出,因为当j=0时啊a[j-1]非法,用a[p]分别与左面的值相比较
**如果a[p]小的话则互换位置,
*/
		printf("\n\n排序过程:        "); 
		for(j=p; j>0 && a[j-1]>temp;j--)     
		{
			a[j]=a[j-1];
            disp();
        } 
		a[j]=temp;

		printf("\n\n新一轮排序结果:        ");		
		disp();
	}


} 

/*输出函数*/
void disp(void)
{
     int i;

//     printf("\n排序结果: \n");
	 printf("\n\n");
	 for(i=0;i<N;i++)
	 {
		printf("%d", a[i]);
		printf("  ");
	 }

	
}

int main(void)
{
	InsertionSort();
  //  disp();
	return 0;

}


二.算法会说话

1.结果输出

bubuko.com,布布扣

bubuko.com,布布扣

2.结果分析

          上图就是每一轮的排序过程和结果。对于7个数的数组,共需要6轮。现在我拿出第三轮来详细讲解这个插入排序。

bubuko.com,布布扣

       程序在第二轮已经将前三个数排好了,第三轮将a[3](也就是第四个数)与前面的数相比较。1与7比较,确实比7小所以a[3]被赋值为7,然后1继续向左走,1比5小,a[2]被赋值为5,然后1继续向左走,1比0大,循环终结。将a[1]赋值为1(也就是temp)。

Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频,布布扣,bubuko.com

Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频

标签:插入排序   算法   c   

原文地址:http://blog.csdn.net/u013670933/article/details/26089487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!