Chinaunix首页 | 论坛 | 博客
  • 博客访问: 197356
  • 博文数量: 70
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1226
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(70)

文章存档

2019年(2)

2018年(4)

2017年(7)

2016年(11)

2015年(1)

2014年(2)

2013年(33)

2012年(10)

分类: C/C++

2013-05-27 23:27:46

将输入的字符串进行排序,使用2级指针~~

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <string.h>


  3. void swap(void *data1,void *data2,int size)
  4. {
  5.     char *d1 = data1;
  6.     char *d2 = data2;
  7.     int i;
  8.     char tmp;

  9.     for(= 0 ;< size;++){
  10.         tmp = d1[i];
  11.         d1[i] = d2[i];
  12.         d2[i] = tmp;
  13.     }
  14. }

  15. int my_sort(void *data1,void *data2)
  16. {
  17.     char * const *d1 = data1;
  18.     char * const *d2 = data2;

  19.     return strcmp(*d1,*d2);
  20. }

  21. void sort_comm(void *base,int num,int size,int (*cmp)(void *,void *))
  22. {
  23.     int i,j;
  24.     int ret;
  25.     char *arr = base;
  26.     for(= 0;< num - 1;++){
  27.         for(= 0;< num - i - 1;++){
  28.             ret = cmp(arr + j * size,arr + (+ 1) * size);
  29.             if(ret > 0){
  30.                 swap(arr + j * size,arr + (+ 1) * size,size);
  31.             }
  32.         }
  33.     }
  34. }



  35. int main(int argc,char **argv)
  36. {
  37.     int i;

  38.     sort_comm(argv,argc,4,my_sort);

  39.     for(= 0;< argc;++){
  40.         printf("%sn",argv[i]);
  41.     }

  42.     return 0;
  43. }
阅读(873) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册