冒泡排序: 最常用的排序算法,对数组内元素进行排序
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
- 重复以上的步骤,每次比较次数-1,直到不需要比较
示例: 将数组 { 4,2,8,0,5,7,1,3,9 } 进行升序排序
#include指针函数 实现冒泡排序#include using namespace std; int main() { int arr[9] = { 4,2,8,0,5,7,1,3,9 }; int a_size = sizeof(arr) / sizeof(arr[0]);//数组大小,避免更换数组大小修改其余代码 cout << "排序前的数组:" << a_size< arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } cout << "排序后的数组:" << endl; for (int i = 0; i < a_size; i++) { cout << arr[i] << " "; } system("pause"); return 0; }
**案例描述:**封装一个函数,利用冒泡排序,实现对整型数组的升序排序
例如数组:int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
示例:
#include#include using namespace std; //冒泡排序函数 void bubbleSort(int * arr, int len) //int * arr 也可以写为int arr[] { for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } //打印数组函数 void printArray(int arr[], int len) { for (int i = 0; i < len; i++) { cout << arr[i] << endl; } } int main() { int arr[10] = { 4,3,6,9,1,2,10,8,7,5 }; int len = sizeof(arr) / sizeof(int); bubbleSort(arr, len); printArray(arr, len); system("pause"); return 0; }
总结:当数组名传入到函数作为参数时,被退化为指向首元素的指针
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)