转:直接选择排序——从键盘上接收一些随机整数,然后用选择排序后再输出

来源:互联网 发布:keep类似的软件 编辑:程序博客网 时间:2024/05/06 20:27

#include <stdio.h>

#define LISTSIZE 100

typedef int  Datatpye;

typedef struct

{

    Datatpye data [LISTSIZE];

    int length;

}Seplist;

void Init(Seplist *s);

void Length(Seplist *s);

void Bobblesort(Seplist *s);

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

{

//4.4直接选择排序

    /*从键盘上接收一些随机整数,然后用选择排序后再输出

     */

    Seplist arr;

    Init(&arr);

    Length(&arr);

    Bobblesort(&arr);

    

    

    

    

    return 0;

}

void Init(Seplist *s)

{

    s->length=0;

}

void Length(Seplist *s)

{

    int number;

    printf("请输入元素的个数:");

    scanf("%d",&number);

    s->length=number;

    for (int i=0; i<number; i++)

    {

        printf("请输入第%d个元素:\n",i+1);

        scanf("%d",&s->data[i]);

    }

    

    for (int i=0; i<number; i++)

    {

        printf("%d\t",s->data[i]);

    }

    printf("\n");

    

   }

void Bobblesort(Seplist *s)//直接选择排序。

{

    int mind;

    for (int i=0; i<s->length-1; i++)

    {

        mind=i;

        for (int j=i+1; j<s->length; j++)

        {

            if (s->data[j]<s->data[mind])

            {

                mind=j;

            }

        }

        

        if (mind!=i)

        {

            int temp=s->data[i];

            s->data[i]=s->data[mind];

            s->data[mind]=temp;

        }

        

    }

    

    

    for (int i=0; i<s->length; i++)

    {

        printf("%d\t",s->data[i]);

    }

    

    

    

    

}


原创粉丝点击