程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 常見排序c語言實現

常見排序c語言實現

編輯:關於C語言

常見排序c語言實現


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(li && R[j]>temp) --j; //倒序查找下一個小於temp的值,與R[i]交換 
			if(i

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved