当需要定义很多同样类型的变量时,一个个用变量去存储,那样很不现实,那么就出现数组,数组可以定义一系列的相同类型的数据变量,通过下标去索引操作这些数据变量
int a[10] = {0,1,2,3,4,5,6,7,8,9}
一维数组就是像上面的结构,今天只讲一维数组,明天深入
当执行 a[0] = 3这句话的时候 内存数组中的数据就变成了下面所示:
内部储存的数据就变成了这个样子,可以通过赋值操作,改变对应下表的数组中的数据
当执行 int x = a[4] 的时候,x的值就赋值为4了
可以通过a[4]这种取值方式,从数组中取到对应下标所存放的数据,进行各种操作
1.冒泡排序
#include<stdio.h>
/*冒泡排序*/
main()
{
int a[6] = { 34,19,11,109,3,56 };
int i, t, temp;
for (i = 0; i < 5; i++)/*循环5趟*/
{
for (t = 0; t < 5 - i; t++)
{
if (a[t] > a[t + 1])
{
temp = a[t];
a[t] = a[t + 1];
a[t + 1] = temp;
}
}
}
for (i = 0; i < 6; i++)
{
printf("%d\t",a[i]);
}
getchar();
}
2.选择排序
#include<stdio.h>
/*选择排序*/
main()
{
int a[6] = { 34,19,11,109,3,56 };
int i, t, temp;
for (i = 0; i < 5; i++)//外层只需拿四次
{
for (t = i + 1; t < 6; t++)
{
if (a[i] > a[t])
{
temp = a[i];
a[i] = a[t];
a[t] = temp;
}
}
}
for (i = 0; i < 6; i++)
{
printf("%d\t",a[i]);
}
getchar();
}
3.插入排序
#include<stdio.h>
void insertSort(int arr[],int length) {
int temp;
int i, j;
for (i = 1; i < length; i++) {
temp = arr[i];
j = i - 1;
while (j>=0 && temp < arr[j]) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
}
}
void print(int arr[],int length) {
int index;
for (index = 0; index < length; index++) {
printf("%d\t",arr[index]);
}
}
int main()
{
int arr[] = { 10,9,56,48,566,45,12,35,45,62 };
insertSort(arr,10);
print(arr,10);
getchar();
return 0;
}
希望大家好好理解,如果理解不了,自行百度,ok!