数组的一些的应用
来源:互联网 发布:eos utility mac安装 编辑:程序博客网 时间:2024/06/05 19:34
数组的三个算法:
1;冒泡排序法
两个for循环,一个是循环次数,一个是排序交换位置
int a[5]={1,4,5,7,2}; for(int i=0;i<5;i++){ //循环次数for(int j=1;j<5;j++){ //排序比较if(a[j]<a[j-1]){a[j]=a[j]+a[j-1];a[j-1]=a[j]-a[j-1]; //交换位置a[j]=a[j]-a[j-1];}} } for(int i=0;i<5;i++){printf("%d",a[i]); //依次打印 }
2:快速查找最小数,最大数的
#include<stdio.h>void main(){ int a[5]={2,6,7,1,0}; int min=a[0]; int i; for( i=1;i<5;i++){ if(a[i]<min){ min=a[i]; } } printf("%d",min); getchar();}
一维数组的定义方式
类型 变量名[大小]={};
扩展到二维数组到多维数组
内存中的描述:有N个大小数据类型为一样的数据连续存储
初始化
赋初值
取值关键:下标取值
二维数组
定义格式 int[1][2]={}; 第一个1是行数 2是列数
行数从0开始数 ,列数也从0开始;
一维数组和二维数组联系
二维数组里面的每一个元素又是一个数组
2是数组个数 3是元素个数
a[0][0]=1 a[0][1]=2 a[0][2]=3
二维数组初始化特殊地方 以一维数组的方式进行初始化 如果没有赋值,采取和一维数组相同的数据类型默认形式。
int a[2][3]={{1,2,3},{4,5,6}}
赋初值第二种方式 int[2][3]={1,2,3,4,5,6}
错误命名int a[][]={};
可以这样命名 int a[][3]={{1,2,3},{4,5,6},{7,8,9}};
总结就是行数可以填也可不填 ,列数一定要填,
结合一维数组的初始化 int a[]={0};
也有边界问题,超过范围则会奔溃
单个数据的赋值定义:定位
最大数据的是当前定义的数据的n-1, m-1;
计算矩阵对角线上的元素和
#include<stdio.h>void main(){ int i,j,sum=0; int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; for(i=0;i<3;i++){ for(j=0;j<4;j++){ if(i==j){ sum+=a[i][j]; } } } printf("%d",sum); getchar();}
//找出二维数组中的最小值
#include<stdio.h>void main(){ int i,j; int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int min=a[0][0]; for(i=0;i<3;i++){ for(j=0;j<4;j++){ if(a[i][j]<min){ min=a[i][j]; } } } printf("%d",min); getchar();}
前提是数组的排序是从小到大排序
3:二分查找(可以不掌握,需要了解)(通过下标取值,取的最小值和最大值,最小下标和最大下标的中间值,还有一个自己想要查找的值)
int Search(参数a,sizeof(a)/sizeof(int),key){ //程序最后要返回一个值
中间下标mid 自己想要查找的值key
判断a[mid]与key值的大小
如果相等,那就返回a[mid]
如果key>a[mid] 最小下标start加1 mid=start+1
如果key<a[mid] 最小下标end减1 mid=end-1
}
void main(){ //程序最后不要返回值,因为void是空类型
int a[5]={0,3,5,6,8}
Search(a,sizeof(a)/sizeof(int),key ) //传递数组和数组长度还有自己想要查找的值
}
具体的函数例子我试着写了,还没调试对就先不发,我还没怎么搞清楚这个东西
- 数组的一些应用
- 数组的一些的应用
- 关于数组的一些应用
- 数组-数组的应用
- 数组的一些方法
- 数组的一些了解
- 一些数组的注意事项!
- 数组的一些操作
- 数组的一些基本知识
- 数组的一些思考
- 数组的一些方法
- 数组的一些概念
- 数组的一些操作
- 数组的一些常见问题
- javaScript的一些应用
- JSF的一些应用
- sed的一些应用
- sed的一些应用
- Python简史
- c/c++第十天
- technical knowledge 3
- 基于gensim的Doc2Vec简析
- Ibatis 在什么情况需要使用remapResults属性
- 数组的一些的应用
- jquery中attr和prop的区别
- VB 制作仪表盘
- 畅通工程续 hd 1874
- 输出星号图
- 游标v_cur的%notfound
- hibernate query.list() 返回的数据类型
- 高效SQL技巧
- spring缓存机制