A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 楠瓜果 中级黑马   /  2014-7-19 19:45  /  1950 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
//    1.定义指针函数实现数组排序(百度)

void printArray(int *array, int len);
// typedef 给数据类型起别名


typedef int (*Pointer)(int a,int b);



int compare(int a,int b)
{
    return a < b;
}

//函数指针作为参数,那个传入的函数是一个回调函数
void selectSort(int *array,int length,Pointer compare)
{

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

        for (int j = i + 1; j < length; j++) {

            if (array < array[j]) {
                int temp = array;
                array = array[j];
                array[j] = temp;
            }



        }
    }
}




int main(int argc, const char * argv[])
{
    int nums[] = {10,8,6,11,12,3};
    int length = sizeof(nums) / sizeof(int);
    printArray(nums, length);
    selectSort(nums, length,compare);
    printArray(nums, length);


    typedef int  Integer;
    Integer num  = 10;
    printf("%d\n",num);


    return 0;
}


void printArray(int *array, int len)
{
    for (int i = 0; i < len; i++) {
        printf("%d ",array);
    }
    printf("\n");
}

10 个回复

倒序浏览
stdlib.h中的qsort就是传函数指针排序的。oc中NSArray排序传block也是这个道理
回复 使用道具 举报
什么老师?
回复 使用道具 举报
感觉我们应该在一个班
回复 使用道具 举报
sl7s78s8 发表于 2014-7-21 21:17
感觉我们应该在一个班

是啊,传智的基础班?
回复 使用道具 举报
为毛XCODE里面运行你这代码打印出来的很诡异呢。。。
题目是甚麽?
1.定义指针函数实现数组排序(百度)
就这个?
回复 使用道具 举报
诸葛佰通 发表于 2014-7-21 23:01
为毛XCODE里面运行你这代码打印出来的很诡异呢。。。
题目是甚麽?
1.定义指针函数实现数组排序(百度)

是的,具体反正就是这样
回复 使用道具 举报
楠瓜果 发表于 2014-7-21 23:26
是的,具体反正就是这样

你五号去就业班,还是继续在基础班?基础班已经开始啦?
回复 使用道具 举报
楠瓜果 发表于 2014-7-21 22:35
是啊,传智的基础班?

恩,我也是基础班的,就感觉这题目似曾相识....
回复 使用道具 举报
已经上课了么》
回复 使用道具 举报
sl7s78s8 发表于 2014-7-22 21:06
恩,我也是基础班的,就感觉这题目似曾相识....

哈哈,那是同学喽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马