用指针实现起泡法排序

初学指针,在老师的课上发现了有用的东西,于是就整理了下来

#include<stdio.h>
void scanfa(int *a, int n); //相当于实现数组的输入
void Foaming_method(int *a, int n);  //实现起泡法排序
void printfa(int *a, int n);  //相当于实现数组输出
int  N = 5;
int main()
{
	int a[5];
	scanfa(a, N);
	Foaming_method(a, N);
	printfa(a, N);
	return 0;
} 
void scanfa(int *a, int n)
{
	int i;
	for(i = 0; i < n; i++)
	{
		scanf("%d", a + i);
	}
}
void Foaming_method(int *a, int n)
{
	int i, j, t;
	int *p;
	for(i = 0; i < n - 1; i++)
	{
		for(p = a; p < a + n - 1 - i; p++)
		{
			if(*p < *(p + 1))
			{
				t = *p; 
				*p = *(p + 1);
				*(p + 1) = t;
			}
		}
	}	 
}
void printfa(int *a, int n)
{
	int i;
	for(i = 0; i < n; i++)
	{
		printf("%d ", *(a + i));
	}
}

有什么改进的地方和错误还请指出
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页