重囗另类BBWSeⅹHD,av狼论坛,精品一卡2卡三卡4卡乱码理论,体育生gv老师浪小辉3p警察

回調函數應用(冒泡排序 既排整型數組 也可排字符串 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.ipr-jzsc.com - 電腦資料】

    題目:回調函數實現冒泡排序 排整數也可排字符串 n為數組元素大小

   

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>//交換函數 交換n1 n2指向的變量 按字節交換 交換size個字節的大小void swap(char *n1, char *n2,int size){int i = 0;while(i < size){char temp = *(n1 + i);*(n1 + i) = *(n2 + i);*(n2 + i) = temp;i++;}}//整數比較函數int int_cmp(const void *elem1,const void *elem2){return (*(int *)elem1 - *(int *)elem2);}//字符串比較函數int str_cmp(const void *s1, const void *s2){    //return strcmp((char *)*(int *)s1, (char *)*(int *)s2);return strcmp((char *)*(int *)s1, (char *)*(int *)s2);//由字符串指針數組的數組元素的地址s1找到s1元素中存放的地址內容}//回調函數實現冒泡排序 排整數也可排字符串 n為數組元素大小void bubble(void *base, int n, int size,int(*cmp)(const void *elem1, const void *elem2 )){int i = 0;int j = 0;for (i = 0;i < n - 1;i++){for (j = 0;j < n - 1 - i; j++){if (cmp((char *)base + j*size, (char *)base + (j + 1)*size) > 0){swap((char *)base + j*size, (char *)base + (j + 1)*size, size);}}}} int main() { int arr_int[]={10,9,8,7,6,5,4,3,2,1}; int i = 0; char *S[] = {"rrrrrrrrrrrrr","aaaaaaaaaaa","bbbbbbbbbbb","hhhhhhhhh","eeeeeeeeeeee"}; bubble(arr_int,10,sizeof(int),int_cmp); for(i = 0;i < sizeof(arr_int)/sizeof(arr_int[0]);i++) {printf("%d  ",arr_int[i]); } printf("\n"); bubble(S,sizeof(S)/sizeof(S[0]),sizeof(char *),str_cmp); for(i = 0;i < sizeof(S)/sizeof(S[0]);i++) printf("%s\n",S[i]); printf("\n");system("pause");return 0; }

最新文章
主站蜘蛛池模板: 出国| 锡林郭勒盟| 金阳县| 奉新县| 绥阳县| 肇源县| 益阳市| 沙湾县| 汾西县| 家居| 廉江市| 内江市| 平凉市| 南皮县| 洪洞县| 莎车县| 美姑县| 东安县| 津市市| 开化县| 永济市| 阿勒泰市| 那曲县| 兴海县| 泌阳县| 房山区| 梁平县| 泰顺县| 陇川县| 体育| 丹东市| 额济纳旗| 肃宁县| 福鼎市| 金沙县| 富平县| 宜宾县| 塘沽区| 彭阳县| 赞皇县| 阿坝县|