直接插入排序:(如果按照从小到大的顺序)
1、无序数组进行插入排序(每趟排序后)必须保证左边的所有数据是有序的;
2、整体向后移动;
#include
#define MAX_SIZE 10
typedef int ElemType;
using namespace std;
typedef struct
{
ElemType key;
int data;
}RecType;
int main(int argc, const char * argv[])
{
RecType a[MAX_SIZE];
int i=MAX_SIZE;
while (--i>=0) {
a[i].data=4;
a[i].key=i;
}
//大胆假设我的直接插入法对不
// a[0].data=23;
// a[1].data=223;
// a[2].data=123;
// a[3].data=230;
// a[4].data=512;
// a[5].data=323;
// a[6].data=2333;
// a[7].data=2453;
// a[8].data=3323;
// a[9].data=99;
i=0;
//直接插入的思想就是,左边为有序区,右边为无序区
//首先想象假如10个元素,由于第一个元素是有序的,右边无序,所以只需进行9次外循环就搞定
//
while (++i