Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104597563
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: C/C++

2008-04-17 22:44:19

 来源:hur.cn

                                                                          

转眼间,大半个学期过去了,c语言的学习也过了一段时间。有时候,由于兴趣,自己在课堂上乱划,一道小程序便出来了,但是,要是不幸运的话,逻辑有毛病,抑或是语句出现问题,在电脑面前一坐便是几个小时了!

随着时间的流逝,我对C语言的理解和感悟也积攒了不少!

首先是数组的学习,给我带来了不少烦恼。但是说起数组来,它贯穿于我们整个c语言之中,我们经常要用它来存储数据。编写图形要用它来储存坐标数据,编写音乐要用它来储存音符乐谱,即使学生的成绩也要用到它来储存……但是,如果我们在利用它的时候,不好好注意,将被弄得眼花缭乱!我们在利用它来处理数据的时候,涉及到的排序,找最大,最小值这些问题。特别是排序,方法挺多,但如果不把握住几种常用的方法,使用数组就变得非常不便。常用的方法中,有冒泡排序,选择排序,希尔排序,快速排序等方法:选择法排序,与冒泡法排序都是利用for循环语句,前者是先寻找出最大最小值的下标,然后再交换,后者则是利用相邻间元素的比较大小,不符合要求顺序的就交换,这样一级一级地向上交换,把最大的或者最小的放到最上面去;对于后两种办法排序,都利用到循环次数不确定的whiledo-while语句,前者还利用到for语句,希尔排序利用一一对应比较的办法,后者利用数组中其它元素与中间数进行比较大小,然后实行交换。

这是冒泡法的程序:

#include

void sort(int array[],int size)

{

int i,j,temp;

/*下面是利用相邻的比较,把大的数放到上面;*/

for(i=0;i

        for(j=i+1;j

               if(array[i]>array[j])

               {

                      temp=array[i];

                      array[i]=array[j];

                      array[j]=temp;

               }

}

void main()

{

int i;

int a[10]={1,33,78,34,787,213,132,35,32,21};

sort(a,10);

for(i=0;i<10;i++)

        printf("%6d",a[i]);

}

这是选择法的程序:

#include

void sort(int array[],int size)

阅读(359) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~