10_4.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
源码类别:

数据结构

开发平台:

C/C++

  1. /* ======================================== */
  2. /*    程序实例: 10_4.c                      */
  3. /*    插入排序法                            */
  4. /* ======================================== */
  5. #include <stdlib.h>
  6. #define MAX  20                   /* 最大字符串长度          */
  7. /* ---------------------------------------- */
  8. /*  插入排序法                              */
  9. /* ---------------------------------------- */
  10. void insert(char *string,int count)
  11. {
  12.    int i,j;
  13.    char temp;
  14.    for ( i = 1; i < count; i++ )  /* 第一层循环            */
  15.    {
  16.       temp = string[i];           /* 建立初值              */
  17.       j = i - 1;                  /* 开始位置              */
  18.       /* 空出插入位置 */
  19.       while ( j >= 0 && temp < string[j] )
  20.       {
  21.          string[j+1] = string[j];
  22.          j--;
  23.       }
  24.       string[j+1] = temp;         /* 插入字符              */
  25.       printf("输出结果: [%s]n",string); /* 输出交换后字符串 */
  26.    }
  27. }
  28. /* ---------------------------------------- */
  29. /*  主程序: 输入字符串后将字符串排序           */
  30. /* ---------------------------------------- */
  31. void main()
  32. {
  33.    char string[MAX];              /* 字符串数组              */
  34.    int count;                     /* 字符串长度              */
  35.    printf("输入要排序的字符串 ==> ");
  36.    gets(string);                  /* 读取字符串              */
  37.    count = strlen(string);        /* 计算字符串长度          */
  38.    insert(string,count);          /* 插入排序法            */
  39.    /* 输出排序后字符串 */
  40.    printf("n输出排序结果: [%s]n",string);
  41. }