#include <iostream> using namespace std; #define MAXSIZE 20 //顺序表的最大长度 typedef int ElemType; //顺序表的存储结构 typedef struct { ElemType *r;//存储空间的基地址 int length; //顺序表长度 }SqList;//顺序表类型 void InsertSort(SqList &L); void Create_Sq(SqList &L) { int i,n; cin>>n; i=1; while(n>0) { L.r[i]=n; cin>>n; i++; } L.length=i-1; } void show(SqList L) { int i; for(i=1;i<=L.length;i++) cout<<L.r[i]<<" "; } int main() { SqList L; L.r=new ElemType[MAXSIZE+1]; L.length=0; Create_Sq(L); InsertSort(L); show(L); return 0; } /* 请在这里填写答案 */void InsertSort(SqList &L);
时间: 2024-04-22 20:22:16 浏览: 136
使用include <iostream>时一定要加using namespace std
下面是InsertSort函数的实现:
void InsertSort(SqList &L)
{
int i,j;
for(i=2;i<=L.length;i++)//从第二个元素开始插入排序
{
if(L.r[i]<L.r[i-1])//如果当前元素小于前一个元素
{
L.r[0]=L.r[i];//将当前元素复制一份
L.r[i]=L.r[i-1];//将前一个元素后移
for(j=i-2;L.r[0]<L.r[j];j--)//从后往前查找插入位置
{
L.r[j+1]=L.r[j];//将元素后移
}
L.r[j+1]=L.r[0];//将当前元素插入到正确位置
}
}
}
阅读全文