#include <iostream> using namespace std; //插入排序法 void insertSortMethod(int intArr[],int arrLen); void printArrInfo(int intArr[],int arrLen); int main() { int arr[] = { 1,3,5,2,4,7,9,6,8 }; int len = sizeof(arr) / sizeof(int); insertSortMethod(arr,len); printArrInfo(arr,len); system("pause"); return 0; } //插入排序法 void insertSortMethod(int intArr[],int arrLen) { int start = 0; for (int i = 0; i < arrLen-1; i++) { for (int j = i + 1; j > start; j--) { if (intArr[j - 1] > intArr[j]) { int temp; temp = intArr[j - 1]; intArr[j - 1] = intArr[j]; intArr[j] = temp; } } } } void printArrInfo(int intArr[],int arrLen) { for (int i = 0; i < arrLen; i++) { cout << intArr[i] << " "; } cout << endl; }
注意 实现方法的时候,很自然的想到在方法体中实现得到数组长度,即int len = sizeof(intArr)/sizeof(int),实际上在调用函数的时候,传递的是数组的首地址,这和我们在main方法中定义赋值一个数组用此方法得到数组长度是不一样的。所以在实现方法的时候,将数组长度作为一个函数参数传入进去
来源:https://www.cnblogs.com/littlelittleprince/p/12289882.html