zoukankan      html  css  js  c++  java
  • 使用指针的指针对字符串排序

     1 /* Note:Your choice is C IDE */
     2 #include "stdio.h"
     3 #include "string.h"
     4 /*使用指针的指针对字符串排序*/
     5 /*排序是按照汉字的首字母进行*/
     6 /*
     7 *整体思路:1、输出排序前的数组元素
     8             
     9 *           2、输出排序后的数组元素
    10             
    11 */
    12 //自定义函数sort(),实现对字符串的排序
    13 sort(char*strings[],int n)//参数1:字符型指针数组。参数2:整型变量
    14 {
    15     char *temp;        //声明字符型指针变量
    16     int i,j;        //声明整型变量
    17     for(i=0;i<n;i++)            //之所以要两个循环,因为每个数都要和其他比较
    18     {
    19         for(j=i+1;j<n;j++)
    20         {
    21             /*
    22             *strcmp如何实现两个字符的比较??
    23             ① str1小于str2,返回负值或者-1(VC返回-1);              
    24             ② str1等于str2,返回0;
    25             ③ str1大于str2,返回正值或者1(VC返回1);
    26             */
    27             if(strcmp(strings[i],strings[j])>0)//比较两个字符
    28             {
    29                 temp=strings[i];//交换字符位置
    30                 strings[i]=strings[j];
    31                 strings[j]=temp;
    32                 }
    33             }
    34         }
    35     }
    36 
    37 void main()
    38 {
    39     int n=5;
    40     int i;
    41     //char *strings[];
    42     char **p;//指向指针的指针变量
    43     char *strings[]={"c","a","d","b","e"};//初始化字符串数组
    44     p=strings;//指针指向数组首地址
    45     printf("排序前的数组:
    ");
    46     for(i=0;i<n;i++)
    47     {
    48         printf("%s
    ",strings[i]);
    49     }
    50     sort(p,n);//调用排序自定义过程
    51     printf("
    排序后的数组:
    ");
    52     for(i=0;i<n;i++)//循环输出排序后的数组元素
    53     {
    54         printf("%s
    ",strings[i]);
    55     }
    56     getch();
    57 }
    58 
    59 /*总结:
    60 1、
    61 两个数字交换一般思路,需要另一个载体,
    62 *例如a和b数值交换,需要借助c,
    63 *把a的数值赋值给c,
    64 *再把b的数值赋值给a,
    65 *再把c的数值赋给a,
    66 *从而实现a和b数值的交换
    67 2、双重for循环用于每个数都要与其他数比较
    68 */

  • 相关阅读:
    oracle 11g 断电后 无法启动 ora 00600 kcratr_scan_lastbwr 修复小计
    arcgis for python (arcpy) 入门
    解决 构造函数 包含业务逻辑 IDE无法初始化界面的问题
    arcgis 10.1 发布 气温插值GP服务小计
    执行 Animation先决条件
    ASP.NET MVC3学习心得视图和模型
    Axure使用心得分享
    ASP.NET MVC3学习心得表单和HTML辅助方法
    ASP.NET MVC3学习心得入门和控制器
    WindowsPhone 中SQL CE数据库的使用
  • 原文地址:https://www.cnblogs.com/kinson/p/7684222.html
Copyright © 2011-2022 走看看