天天看點

資料結構順序表的建構及排序

#include <stdio.h>

#include <stdlib.h>

typedef int Datatype;

typedef struct{

    Datatype data[32];

    int num;

}sqlist;

void sqlist_in(sqlist *,Datatype);

void sqlist_print(sqlist *);

void sqlist_mp(sqlist *);

void sqlist_rm(sqlist *);

void int main(int argc, const char *argv[])

{

 sqlist *s1;

    s1 = sqlist_tou();

    sqlist_in(s1,1);

    sqlist_in(s1,2);

    sqlist_in(s1,2);

    sqlist_print(s1);

    sqlist_mp(s1);

    sqlist_print(s1);

}

sqlist *sqlist_tou(){

 sqlist *s1 =(sqlist *)malloc(sizeof(sqlist));

    s1->num = -1;

return s1;

}

void sqlist_mp(sqlist *s1){

    int i = 0;

    int j = 0;

    Datatype temp;

    for(i = 0;i <= s1->num-1; i++){

        for(j = 0;j <= s1->num-i-1 ; j++){

            if(s1->data[j] > s1->data[j+1]){

                temp = s1->data[j];

                s1->data[j] = s1->data[j+1];

                s1->data[j+1] = temp;

            }

        }

    }

}

void sqlist_print(sqlist *s1){

    int i = 0;

    for(i = 0;i <= s1->num;i++){

        printf("%d ",s1->data[i]);

    }

    puts("");

}

void sqlist_in(sqlist *s1,Datatype volue){

    s1->num++;

    s1->data[s1->num] = volue;

}

繼續閱讀