C语言最简单的排序——冒泡排序

冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。

#include 

int main()
{
	int a[]={9,,1,5,8,3,7,4,6,2} ;
	int i,j,t;
	for(i=0;i<7;i++)
	printf("%d ",a[i]);
	printf("\n");
	for(i=0;i<7;i++)
	{
		for(j=i+1;j<7;j++)
		{
			if(a[i]>a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}
	for(i=0;i<7;i++)
	{
		printf("%d ",a[i]);
	}
}

C语言最简单的排序——冒泡排序_第1张图片

C语言最简单的排序——冒泡排序_第2张图片

 这是最简单的写法,当然在实际运用中,我们通常把排序写成是一个函数来调用它。

#include 

void printArray(int *a,int num)
{
	
	int i=0;
	for(i=0;ia[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}
 } 
int main()
{
	int i=0;
	int j=0;
	int t=0;
	int num=7;
	int a[]={9,1,5,8,3,7,4,6,2} ;
	num = 7;
	printArray(a,num);
	sortArray(a,num);
	printArray(a,num);
	


}

这里定义了两个函数,一个用来输出数组,另外一个就是排序,两个代码运行结果都一样。

关于冒泡排序就是两个for循环,然后if语句判断相邻两个数字的大小,反序则交换,非常简单,适合新手。

希望对你有帮助。

你可能感兴趣的:(c语言,数据结构)