一、理解
像扑克那样,一张一张地摸牌然后排序。
二、算法流程(升序)
(1)从第二张牌开始,将其取出,赋给一个临时变量temp
将temp和前一个A[K]对比,若temp小于A[K],则将A[K]往后移动一位,再和A[K-1]对比...直到对比完第一位或者找到一个比temp小的数
将temp赋给比它小的数的后面
三、代码
/*插入排序法*/#includeusing namespace std;int main(){ int A[6] = { 31, 41, 59, 26, 41, 58 }; int j = 0;//j代表要对比的牌 int temp=0; for (int i = 1; i <6; i++)//i代表摸的那张牌 { temp = A[i]; j = i - 1; while (temp < A[j]&&j>=0) { A[j+1] = A[j]; j--; } A[j + 1] = temp; } for (int i = 0; i < 6; i++) { cout << A[i] << ","; } return 0;}