插入排序的工件机理与很多人打牌时,整理手中牌時的做法差不多,在开始摸牌时,我们的左手是空的,接着,一次仌桌上摸起一张牌,井将它插入到左手一把牌中的正确位置上,为了找到这张牌的正确位置,要将它与手中已有的每一张牌从右到左地进行比较,无论在什么时候,左手中的牌都是排好序的,而这些牌原先都是桌上那副牌里最顶上的一些牌。
伪代碼
C++代碼
伪代碼
1 for j =2 lenght[A]
2 do key = A[j]
3 i = j -1
4 while i >0 and A[i] > key
5 do A[i+1]=a[i]
6 i=i-1
7 A[i+1]=key
2 do key = A[j]
3 i = j -1
4 while i >0 and A[i] > key
5 do A[i+1]=a[i]
6 i=i-1
7 A[i+1]=key
C++代碼
int values[] = {31,41,59,26,41,58};
int length = sizeof(values) / sizeof(int);
int key;
int i;
for (int j = 1; j < length; j++)
{
key = values[j];
i=j-1;
while (i>=0 && values[i] > key)
{
values[i+1]=values[i];
i = i-1;
}
values[i+1]=key;
}
return 0;
int length = sizeof(values) / sizeof(int);
int key;
int i;
for (int j = 1; j < length; j++)
{
key = values[j];
i=j-1;
while (i>=0 && values[i] > key)
{
values[i+1]=values[i];
i = i-1;
}
values[i+1]=key;
}
return 0;