C++指针配合函数和数组案例(冒泡排序)

C++指针配合函数和数组案例(冒泡排序),第1张

C++指针配合函数和数组案例(冒泡排序) 冒泡排序 学习目标:

理解并实现冒泡排序算法,进一步对指针的了解与运用,理清指针和数组间的关系

案例描述:

封装一个函数,利用冒泡排序,实现对整型数组的升序排序例如数组:int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };

实现代码:
#include 
using namespace std;

void BubbleSort(int* arr1,int arr1_length)
{
	for (int i = 0; i < arr1_length - 1; i++)
	{
		
		for (int j = 0; j < arr1_length - 1 - i; j++)
		{
			if (*(arr1 + j) > *(arr1 + j + 1))
			{
				int temp = *(arr1 + j);//*(arr+i)等价于arr[i]
				*(arr1 + j) = *(arr1 + j + 1);
				*(arr1 + j + 1) = temp;
			}
		}
	}
}
int main()
{
	int arr[] = { 4,3,6,9,1,2,10,8,7,5 };
	BubbleSort(arr, sizeof(arr) / sizeof(int));

	cout << "冒泡排序后数组为:" << endl;
	for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
	{
		cout << arr[i] << " ";

	}

	system("pause");
	return 0;
}
运行结果:

重点是传入BubbleSort的是数组的首地址,以及数组元素和指针的对应关系*(arr+i)等价于arr[i]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5703031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存