冒泡法排序——(数组做实参)

冒泡排序: 不断地把较大的数据移动到后面(比较),有写类似于水中的气泡向上冒的过程(越来越大)

算法分析

1、因为要对一个Int 类型的数组排序,所以解决问题的前提有条件是知道数组名及数组元素
也就是说函数应该有两个参数。
2、函数的功能是对数组排序,结束后并没有什么特定的值要返回给调用函数的地方,
所以函数的类型应该是void类型(如果需要记录交换次数,也可以把交换次数作为一个int 返回)
3、排序的过程时是经过若干趟完成的,且而每一趟都需要比较若干次,这样就构成了一个循环。
排序的若干趟循环次数为元素个数—1;每趟都是若干次比较,这也是一个循环,这样就构成一个循环嵌套。

4、比较都是前后两个元素而言的,如果前面元素用下标qian,后面元素下标hou比qian大1。
循环次数与第几趟有关

//冒泡排序——数组名做实参

#include
void sort(int[],const int);
int main()
{
	int elements[7]={5,18,9,6,4,7,45	};
sort(elements,7);
	return 0;
	
}

//排序函数
void sort(int elements[],const int num )  
{
	int djt;  //第几趟 
	for(djt=1;djtelements[hou])
			{
				int tmp;
				tmp=elements[qian];
				elements[qian]=elements[hou];
				elements[hou]=tmp;
			} 
			
		}
	} 
	//输出 
	int i;
	printf("冒泡排序结果为:");
	for(i=0;i

你可能感兴趣的:(C语言基础)