二分查找和字符串基本知识总结
来源:互联网 发布:最新mac系统公测版 编辑:程序博客网 时间:2024/06/05 04:50
二分查找法:
二分查找法只适合有序数组
{
最小值的索引,最大值的索引,中间值的索引
int min, max, mid;
min = 0;
max = length - 1;
mid = (min + max) / 2;
while (key != array[mid]) {
if (key > array[mid]) {
如果要找的值大于中间值, min要变
min = mid + 1;
}else if (key < array[mid])
{
如果要找的值小于中间值,max要变
max = mid - 1;
}
如果最小值都超过了最大值,就证明没有找到
if (min > max) {
return -1;
}
每次min或者max变化之后,要重新计算mid的值
mid = (min + max) / 2;
}
循环执行完毕,代表找到了
return mid;
}
元素类型数组名[元素个数];
元素类型: 说明将来数组中存放元素的类型
元素个数: 说明将来数组中能存放多少个元素
元素类型 数组名[行数][列数];
元素类型 数组名[有多少个一维数组][每一个一维数组的元素个数];
二维数组本质依然是一个一维数组, 只不过他的每一个元素又是一个一维数组而已
int ages[2][3] =
{
{1, 3, 5},
{1, 3, 5}
};
二维数组初始化方式
在定义的同时进行初始化
int a[2][3] = {{1, 3, 5}, {2, 4, 6}};
也是部分初始化
int c[2][3] = {{1, 2}, {3}};
int ages[3] = {1};
二维数组可以省略行数,会自动根据初始化的值计算出有多少个一维数组
int d[][3] = {1, 3, 5, 2, 4 ,6, 7};
注意:二维数组不能省略列数,必须明确的告诉二维数组中每一个一维数组可以存放多少个元素
int e[2][]= {{1, 3, 5}, {2, 4, 6}};
要给二维数组进行一次性的赋值,只能在定义二维数组的时候
int f[2][3];
f[0] = {1, 3, 5};
字符串:
字符串用数组保存,字符串是由字符组成
char str[] = "jyk";
printf(str);
字符串的初始化
char str[] = "jyk"; // L + N + J + \0
\0的ascii码值是 0
\0是字符串结束的标志
char str2[] = {'j', 'y', 'k', '\0'};
如果数组元素个数大于初始化的字符,没有初始化的元素的值默认是0
而\0的ascii码值是 0, 所以也是一个字符串
char str3[5] = {'j', 'y', 'k'};
注意:这个不是字符串,因为没有\0
char str4[3] = {'j', 'y', 'k'};
静态初始化,会更具后面初始化的元素来确定数组的长度
char str5[] = {'j', 'y', 'k'};
%s用于输出字符串
- 二分查找和字符串基本知识总结
- 字符串的快速排序和二分查找
- 二分查找 字符串
- 二分查找 字符串数组
- 字符串二分查找
- poj2503 二分查找字符串
- 二分查找总结
- 二分查找的总结
- 【二分查找】学习总结
- 二分查找分类总结
- 二分查找小小总结
- 二分查找总结
- 二分查找总结
- 二分查找总结
- 二分查找自我总结
- 二分查找分类总结
- LeetCode二分查找总结
- 二分查找总结
- 体验常成员函数
- Oracle数据库备份
- curl用cookie抓取
- Linux 安装FFmpeg
- [leetcode]Merge Sorted Array
- 二分查找和字符串基本知识总结
- 获取DataGridViewCheckBoxColumn选中的值
- SVM(二)——宽松SVM
- ffmpeg选项详解
- 被动保护器的简介
- ffmpeg快速命令使用
- 感悟
- MySQL优化的小知识
- Oracle查看锁表进程,以及杀掉锁表进程的方法