排序问题,怎么写这个主程序,求解,谢谢了
程序代码:#include <stdlib.h>
#include <stdio.h>
#define MaxSize 1000
typedef struct record
{
int elem[MaxSize];
int length; //当前长度
}SqList
void output(SqList &L)
{ int i;
for(i=0;i<L.length;i++)
{
printf("%5d",L.elem[i]);
}
return;)
}
void InsertSort(sqList &L)
{int i,j;
for( i=2; i<=L.length;i++)
{ if(L.r[i].key < L.r[i-1].key)
{ L.r[0] = L.r[i];
L.r[i] = L.r[i-1];
for( j=i-2; (L.r[0].key < L.r[j].key); j--)
L.r[j+1] = L.r[j];
L.r[j+1] = L.r[0]; }
}
}
void BubbleSort(SqList &L,int n)
{//冒泡排序
int i,j;
for(i=0;i<L.length-2;i++)
{
int flag=1;
for(j=0;j<L.length-i-2;j++)
if(L.r[j].key>L.r[j+1].key)
{
flag = 0;
int temp;
temp=L.r[j].key;
L.r[j].key=L.r[j+1].key;
L.r[j+1].key=temp;
}
void QuickSort(sqList &L, int low, int high)
{L.r[0]=L.r[low];
pivotkey=L.r[low].key;
while(low<high)
{while(low<high&&L.r[high].key>=pivotkey) --high;
L.r[low]=L.r[high];
while(low<high&&L.r[low].key<=pivotkey) ++low;
L.r[high]=L.r[low];}
L.r[low]=L.r[0];
return low;
}怎么写主程序来达到结果图的效果








