IT技术博客大学习 共学习 共进步

无聊写了一个字母的冒泡排序法

排头兵-互联网开发实践 2010-05-22 12:54:22 浏览 2,781 次

为了学习使用gdb调试程序,尝试的写了一个学生时代的程序来调试,居然修改了N处地方才改对,忘却了C了,应该回归了。

#include <stdio .h>
#include <string .h>
void main()
{
  int i,j;
  char str[26] = "bcdaqfrgshtewiuvxlyjzpmokn",tmp,*p;
  p = str;
  printf("%s\n",str);
  for(i = 0;i < = strlen(str)-1;i++)
  {
    for(j = i;j <= strlen(str)-1 ;j++)
    {
      if(strcmp(p+i,p+j) > 0)
      {
       tmp = *(p+i);
       *(p+i) = *(p+j);
       *(p+j) = tmp;
      }
    }
    printf("%s\n",str);
 
  }
 
}
</string></stdio>

bcdaqfrgshtewiuvxlyjzpmokn
acdbqfrgshtewiuvxlyjzpmokn
abdcqfrgshtewiuvxlyjzpmokn
abcdqfrgshtewiuvxlyjzpmokn
abcdqfrgshtewiuvxlyjzpmokn
abcdeqrgshtfwiuvxlyjzpmokn
abcdefrqshtgwiuvxlyjzpmokn
abcdefgrsqthwiuvxlyjzpmokn
abcdefghsrtqwiuvxlyjzpmokn
abcdefghistrwquvxlyjzpmokn
abcdefghijtswruvxqylzpmokn
abcdefghijktwsuvxryqzpmoln
abcdefghijklwtuvxsyrzqpomn
abcdefghijklmwuvxtyszrqpon
abcdefghijklmnwvxuytzsrqpo
abcdefghijklmnowxvyuztsrqp
abcdefghijklmnopxwyvzutsrq
abcdefghijklmnopqxywzvutsr
abcdefghijklmnopqryxzwvuts
abcdefghijklmnopqrsyzxwvut
abcdefghijklmnopqrstzyxwvu
abcdefghijklmnopqrstuzyxwv
abcdefghijklmnopqrstuvzyxw
abcdefghijklmnopqrstuvwzyx
abcdefghijklmnopqrstuvwxzy
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz

利用指针数组对多个字符串进行排序:

#include <stdio .h>
#include <string .h>
void sortstring(int n,char *str[]);
 
void sortstring(int n, char *str[])
{
  char *c;
  int i,j;
  for(i = 0 ;i < = n-2; i++)
  {
    for(j=i;j< n;j++)
    {
      if(strcmp(str[i],str[j]) > 0)
      {
        c = str[i];
        str[i] = str[j];
        str[j] = c;
      }
    }
 
  }
}
 
  main()
  {
    int i,n;
    char *lang[] = {"c","vb","php","java","ruby","python","go"};
    n = 7;
    sortstring(7,lang);
    for(i=0;i&lt;7;i++)
      printf("\n%s",lang[i]);
 
  }
</string></stdio>

c
go
java
php
python
ruby
vb

建议继续学习

  1. 如何使用1M的内存排序100万个8位数 (阅读 12,226)
  2. 快速排序(Quicksort)的Javascript实现 (阅读 11,543)
  3. 腾讯-1亿个数据取前1万大的整数-题解答 (阅读 9,944)
  4. 深入浅出插入类排序算法(直接插入, 折半插入, 希尔排序) (阅读 7,424)
  5. 深入浅出交换类排序算法(冒泡排序,快速排序) (阅读 6,984)
  6. Java程序员必知的8大排序算法 (阅读 5,563)
  7. Mysql中的排序优化 (阅读 5,523)
  8. Vim(gVim)对排序的妙用 (阅读 5,285)
  9. 快速排序详细分析 (阅读 4,923)
  10. 深入浅出选择类排序算法(简单选择排序,堆排序) (阅读 4,543)