设为首页 加入收藏

TOP

常见排序c语言实现
2015-01-22 20:56:55 来源: 作者: 【 】 浏览:14
Tags:常见 排序 语言 实现
void BubbleSort(int R[],int n) //冒泡排序 时间复杂度O(n2)
{
	int i,j,temp,flag;
	for(i = n;i>=2;i--) 
	{
		flag = 0;
		for(j=2;j<=i;j++)
		{
			if(R[j-1]>R[j])
			{
				temp = R[j-1];
				R[j-1] = R[j];
				R[j] = temp;
				flag = 1;
			}
		}
		if(flag == 0 )
		{
		 	return;
		}		
	}
}

void InsertSort(int R[],int n) //直接插入排序 时间复杂度O(n2)
{
	int i,j,temp;
	for(i=2;i<=n;i++)
	{
		temp = R[i];
		j = i-1;
		while(j>=1 && R[j]>temp)
		{
			R[j+1] = R[j];
			j--;
		}
		R[j+1] = temp;
	}
}

void QuikSort(int R[],int l,int r) //快排 时间复杂度O(nlogn)
{
	int i,j,temp;
	i = l;
	j = r;
	if(l
  
   i && R[j]>temp) --j; //倒序查找下一个小于temp的值,与R[i]交换 
			if(i
   
    
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C安全问题与指针误用 下一篇c语言--直接插入算法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: