#include<iostream> using namespace std; int main() { //插入排序理解 int arr[] = { 56, 12, 3, 7, 11,55,456,123,55,44,6,7,8,999,1 }; //定義一個int類型數組 int m = 0; for (int i = 0; i < sizeof(arr)/sizeof(int); i++) //定義一個for循環,表示外層需要循環的次數 { for (int j = i ; j > 0; j--) //定義一個循環,每次將前數組第i個元素內的元素從后向前進行比大小, { m++; if (arr[j] < arr[j - 1]) //如果前一個元素比后一個元素小,則交換元素值,否則直接退出 { int num = arr[j-1]; //值交換 arr[j-1] = arr[j]; arr[j] = num; } else break; //因為前面的元素都排序好了,如果找到if條件不匹配,則表示需要排序的元素就應該在這個位置,前面的元素不用再比較,直接退出當前循環即可. } } return 0; }