美文网首页
冒泡排序

冒泡排序

作者: 幻想无极 | 来源:发表于2017-06-27 00:54 被阅读5次

    姓名,分数,按分数排序

    //
    //  main.c
    //  code_0
    //
    //  Created by tqh on 2017/6/26.
    //  Copyright © 2017年 tqh. All rights reserved.
    //
    
    #include <stdio.h>
    
    struct student
    {
        char name[21];
        int score;
    };//这里创建了一个结构体用来存储姓名和分数
    
    int main(int argc, const char * argv[]) {
    
        struct student a[100],t;
        int n;
        scanf("%d",&n); //输入一个数n
        for(int i = 0;i < n;i ++){ //循环读入n个人名和分数
            scanf("%s %d",a[i].name,&a[i].score);
        }
        
        for (int i = 0; i < n; i ++) {
            for (int j = 0; j < n - i; j++) {
                if (a[j].score < a[j+1].score) {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
            }
        }
        for (int i = 0; i < n; i ++) {
            printf("\nname = '%s' score = '%d'\n",a[i].name,a[i].score);
        }
        
        return 0;
    }
    
    

    原理:双重循环,相邻的两个数比较大小,交换位置,时间复杂度高

    相关文章

      网友评论

          本文标题:冒泡排序

          本文链接:https://www.haomeiwen.com/subject/ntsscxtx.html