#include <iostream>
#define MAX 10
using namespace std;
typedef int ElemType;
typedef struct {
ElemType *elem;
int length;
} sqList;
//初始化顺序表
void init(sqList &L) {
L.elem = new ElemType[MAX + 1];
L.length = 0;
int e;
for(int i = 1; i <= MAX; i++) {
cin>>e;
L.elem[i] = e;
L.length++;
}
}
//直接插入排序
void InsertSearch(sqList &L) {
int i, j;
for(i = 2; i <= L.length; i++) {
if(L.elem[i] < L.elem[i-1]) {
L.elem[0] = L.elem[i];
L.elem[i] = L.elem[i-1];
for(j = i - 2; L.elem[0] < L.elem[j]; j--)
L.elem[j+1] = L.elem[j];
L.elem[j+1] = L.elem[0];
}
}
}
int main() {
sqList L;
init(L);
//排序前
for(int i = 1; i <= L.length; i++)
cout<<L.elem[i]<<" ";
cout<<endl;
InsertSearch(L);
//排序后
for(int i = 1; i <= L.length; i++)
cout<<L.elem[i]<<" ";
return 0;
}
直接插入排序
最新推荐文章于 2023-02-05 22:09:20 发布