Part 1 知识点概况
1.数组是一组具有相同类型的变量的集合。用数组名标识这组相同类型的数据,构成数组的每个数据项称为数组元素。一个数组在内存中占一片连续的存储单元。
2.基本格式:数组类型 数组名 [整数1] [整数2] [整数3]……
数组的下标都是从零开始的,下标越界是大忌
直接对a的访问,就是访问此数组的首地址
数组大小必须是值为正的常量,不能为变量,一旦定义,不能改变大小
数组定义后的初值仍然是随机数,一般要初始化
数组名表示数组的首地址,其值不可以改变
3.通过循环赋初值:
int i;
for(i=0;i<5;i++)
{
b[i]=a[i];
}
4.保证输入数据合法的方式:
while(month<1‖month>12);
5.在主函数之外定义的数组为全局数组,数值初始化;之内为局部数组,数值未初始化。数组要定义为全局数组。
6.选择排序
解决
for(j=0;j<n-1;j++)
{l=j;
for(i=1;i<n;i++)
if(a[l]=a[i])
l=I;
if(l!=j) i=a[l],a[l]=a[j],a[j]=i;
}
7.插入排序
l=i-1; temp=a[i];
while(l>=0&&a[l]>temp)
{a[l+1]=a[l];
l--;}
a[l+1]=temp;
8.冒泡排序
#include<iostream>
#tinclude<iomanip>
using namespace std;
const int n=10;
int t,a[n+1];
int main}
for(int i=1; i<=n;++i)cin>>a[i];
for(int j=1;j<n-1;++j)
for(int i=1;i<n-j;++i)
if(a[i]<a[i+1])
{t=a[i]; a[i]=a[i+1]; a[i+1]=t}
for(int i=1i<=n;++i)
cout<<setw(5)<<a[i];
cout<<endl;
return0;
}
9.折半查找
low=o, high=n-1, mid=0
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]>temp)
high-mid-1;
else if(a[mid]<temp)
low=mid+1;
else
cout<<a[mid]<endl;}
cout<<\"Not Found! <<end;
}
10.c++sort函数用法
头文件:#include<algorithm>
默认按升序排
sort(a,a+n)两个参数分别为首地址和尾地址
11.二维数组:当一维数组元素的类型也是一维数组时,构成了数组的数组。
定义的一般格式:数组类型 数组名[常量表达式1] 常量表达式[2]
引用的格式:<数组名>[下标1][下标2]
12.字符数组:是指元素为字符的数组,用来存放字符序列或字符串
格式:[存储类型] char 数组名 [常量表达式]
字符数组中可以存放字符,也可以存放字符串,两者的区别为字符串有一个结束符
13.字符常量和字符串常量的区别
①两者的定界符不同,字符常量由单引号括起来,字符串常量由双引号括起来。
②2字符常量只能是单个字符,字符串常量则可以是多个字符。
3可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量赋给一个字符变量。
④字符常量占一个字节,而字符串常量占用字节数等于字
符串的字节数加1。增加的一个字节中存放字符串结束标志“\\0’
14.字符串的输入:scanf或gets语句
scanf:
格式:scanf(\"%s\",字符数组名)
输入多个字符时以空格分开,系统会在字符串常量结尾自动加结束符
gets语句:
格式:gets(字符数组名)只能输入一个字符串
15.输出:printf语句或puts语句
要使用字符串处理函数,要写<string.h>头文件
Part2 应用
1.按特定的顺序排列数据
2.与指定数字相同的数的个数
3.与矩阵相关的问题
4.解决一些实际问题,例如:校门外的树,石头剪刀布,做游戏等
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

