如何把一个无序序列插入到一个空的顺序表中,并分别用直接插入法和直接选择法对上述序列排序?(语言-c++)

定义并初始化一个空int型顺序表,输入一个无序序列,实现顺序表的插入操作,并分别用直接插入法和直接选择法对上述序列排序

运行结果如下:

img

代码:

#include <stdio.h>
#define MAXLEN 100
struct StList 
{
    int data[MAXLEN];
    int len;
};
//初始化空表
void InitList(StList* head)
{
    head->len = 0;
}
//递增插入数据
void InsertData(StList* head,int v)
{
    int i,j;
    if(head->len == 0)
    {
        head->data[head->len] = v;
        head->len += 1;
        return;
    }
    if(v > head->data[head->len-1])
    {
        head->data[head->len] = v;
        head->len += 1;
        return;
    }
    for(i=0;i<head->len;i++)
    {
        if(head->data[i] >= v)
        {
            for(j=head->len;j>i;j--)
                head->data[j] = head->data[j-1];
            head->data[i] = v;
            head->len += 1;
            return;
        }
    }
}

//显示
void show(StList head)
{
    int i;
    for(i=0;i<head.len;i++)
        printf("%d ",head.data[i]);
    printf("\n");
}


int main()
{
    int i,v;
    StList head;
    InitList(&head);
    printf("请输入10个整数:");
    for (i=0;i<10;i++)
    {
        scanf("%d",&v);
        InsertData(&head,v);
    }
    //显示
    printf("链表数据:");
    show(head);
    return 0;
}

就是数组进行直接插入法和直接选择法排序呗