C语言一维数组

一、什么是数组

数组是相同数据类型的元素的集合,它是一种符合类型。

二、一位数组的创建与初始化

数组的一般形式为:

`数组类型   数组名[数组大小]
例:  int a[10];
注:数组的大小不能为零
 *数组的下标是从0开始的。

数组的初始化:
相当于给数组赋值;
我们一般运用for循环来给数组进行赋值;

    int a[10];
	int i;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}

也可以直接在定义时给数组赋值:

int a[10]={1,2,3,4,5,6,7,8,9,10};

注:也可以为:
int a[10]={1};
此时只有a[0]赋值为1,剩下9位都为0

这里就会输入10个数给数组;
我们也可以运用for循环来使这十个数输出出来:

for(i=0;i<10;i++)
	{
		printf("%d  ",a[i]);
	}

三、冒泡排序法

应用:当我们让数组内的数从小到大排序时,
可以用冒泡排序法。

冒泡排序的原理:从左到右,从第一个元素开始
比较,相邻两个元素之间相互比较找出这一轮中
最大的那个数,放到最右边。这个数就从序列中
冒出。第二轮再在剩下的9个元素中相邻两个元
素之间相互比较找出序列中最大的那个数。依次
循环,就实现了从小到大的排序。

主要部分的代码如下:

for(i=0;i<10;i++)
	{
		for(j=0;j<10-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				k=a[j];
				a[j]=a[j+1];
				a[j+1]=k;
			}
		}
	}

四、选择排序法

选择排序法与冒泡排序法相似。

选择排序法是从算法优化角度对冒泡排序法
的改进。其思想为:经过一轮两两比较后,
并不马上交换元素的位置,而是找到本轮
最小的数,记下该数的下标,待本轮比较完
毕后,将本轮最小的数交换到位。

主要部分的代码如下:

	for(i=0;i<10;i++)
	{
		for(j=i+1;j<10;j++)
		{
			if(a[i]>a[j])
			{
				k=a[i];
				a[i]=a[j];
				a[j]=k;
			}
		}
	}

猜你喜欢

转载自blog.csdn.net/weixin_44780641/article/details/89389293