排序问题,怎么写这个主程序,求解,谢谢了
程序代码:
#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; }
怎么写主程序来达到结果图的效果