在任何时候遇到任何事请,都不能阻挡我前进的脚步。
今天上午讲了快速排序的方法,与冒泡排序有异取同工之秒,但是其中还是也有很多的区别,快速排序的是主要是用用来查找数据,不能用来排序。
#include <stdio.h>
void main(){
int a[5] = {12,3,23,45,56};
int min = 0;
for (int i = 0; i < 5; i++)
{
if (a[i]<a[min])
{
min = i;
}
}
printf("%d",a[min]);
getchar();
}
**二分查找查找的条件是数组中的元素必须会顺序排列,方法就是取中间的数然后,跟之前的猜数字有相同点,主要的是要学会怎么应用方法的调用,记得,不同的方法之间会有返回值的。
代码仅供参考**。
#include <stdio.h>
int seach(int array[], int len, int key){
int start = 0;
int end = len - 1;
while (start<=end){
int mid = (start + end) / 2;
if (array[mid]==key){
return mid;
}
else
{
if (array[mid] >key){
end = mid - 1;
}
else {
start = mid + 1;
}
}
}return -1;
}
void main(){
//二分查找,数组中必须要从小到大排序
/*int a[5];
for (int i = 1; i <= 5; i++)
{
printf("请输入你的数组,空格分开");
snanf_s("%d", &i);
a[i - 1] = i;
}*/
int a[5] = {4,5,6,7,8};
//scach(a, 5, 3);
printf("请输入你要查找的数");
int key;
scanf_s("%d",&key);
getchar();
printf("%d",seach(a, 5, key));
getchar();
}
重点学习数组
类型 变量名[大小]={};一位数组的定义方式。
描述:
1、内存当中的描述:有大小=N个数据为类型的这样的数据连续存储
2、数组的初始化
(1)int a[10] = {1,2,3,4,5,…..};
(2)int a[] = {1,2,3,4……};
3、赋值操作
0-n,a[0-n] = xx;
4、取值的关键(下标取值)
二维数组
1、定义格式
(1)int a[1][2] = {}; 1.行数 2.列数
2.一维数组和二维数组中间联系
Int a [2][3] = {{1,2,3},{4,5,6}};
这个是二维数组初始化特殊的地方以一维数组的方式进行初始化,如果没有赋值采取和一位数组一样的方式,进行默认值的显示
3.int a[][] = {};错误的
4.int a[][3] = { { 1, 2, 3 }, { 2, 3, 4 },{4,5,6} };
重点注意数组定义的时候行和列之间的关系。