理解并实现冒泡排序算法,进一步对指针的了解与运用,理清指针和数组间的关系
案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序例如数组: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]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)