代碼案例(結構體,函數指標,指標函數,冒泡排序)

來源:互聯網
上載者:User

標籤:結構體   指標函數   函數指標   冒泡排序   

typedef struct{    char name[20];    int age;    float score;}Stu;#import <Foundation/Foundation.h>//姓名升序void sortByName(Stu *p , int count ){    for (int i = 0 ; i < count -1; i ++) {        for (int j= 0 ; j < count -1-i; j ++) {            if (strcmp((p + j)->name, (p + j + 1)->name) > 0 ) {                Stu temp  = *(p + j);                *(p + j) = *(p + j + 1);                *(p + j + 1) = temp;            }        }    }    }//年齡void sortByAge( Stu *p , int count ){    for (int i = 0 ; i < count -1; i ++) {        for (int j= 0 ; j < count -1-i; j ++) {            if ((p + j)->age > (p + j + 1)->age) {                Stu temp  = *(p + j);                *(p + j) = *(p + j + 1);                *(p + j + 1) = temp;            }        }    }}//成績void sortByScore(Stu *p , int count ){    for (int i = 0 ; i < count -1; i ++) {        for (int j= 0 ; j < count -1-i; j ++) {            if ((p + j)->score > (p + j+ 1)->score ) {                Stu temp  = *(p + j);                *(p + j) = *(p + j + 1);                *(p + j + 1) = temp;            }        }    }}void outPut(Stu *p , int count ){    for (int i = 0 ; i < count ; i ++) {        printf("name = %s , age = %d , score = %.2f\n" , (p + i)->name,(p + i)->age , (p + i)->score);    }    }typedef void (*FUN) (Stu *p , int count);void student (FUN func ,Stu *p , int count ){    func(p , count);}int main(int argc, const char * argv[]){    Stu stu[5] = {        {"zhang",20,80},        {"wang", 22,82},        {"li",23,86},        {"zhao",22,83},        {"liu",20,89}    };        Stu *p = NULL;    p = stu;    student(outPut,p,5);    student(sortByName,p, 5);    student(outPut,p,5);   // outPut(p, 5);   // sortByName(p, 5);  //  outPut(p, 5);       return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.