数组的应用:一。冒泡排序二。折半查找!二维数组的学习。

数组的应用:
(一).冒泡排序。
1.冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。
2.趟数=n-1;次数=n-趟数。
3.里层循环使用if比较相临的两个数的大小,进行数值交换。

作业:
1.先把冒泡排序写一遍。
2.使用冒泡排序,做青歌赛的打分程序。要求去掉两个最高,两个最低分,求平均得分。

代码。

(二).折半查找。
前提:数组必须是有序的。
思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标。
1.求中间下标:mid = (top+bottom)/2
2.上限下标下移:top = mid+1. 假设数组是升序排列。
3.下限下标上移:bottom = mid-1;
4.循环条件是:bottom>=top
static void Main(string[] args)
{
int[] a = new int[] { 3, 5, 7, 9, 11, 13, 14, 18 };

Console.Write("请输入要找的数:");
int find = Convert.ToInt32(Console.ReadLine());

int top, bottom, mid; //上限下标,下限下标,中间下标
top = 0;
bottom = a.Length - 1;

while(bottom>=top) //只要下限下标还在上限下标的下面,就循环,否则没找到就结束。
{
//算中间下标
mid = (top + bottom) / 2;
//取中间的值
int n = a[mid];
if(n < find)
{
top = mid + 1; //调整上限的下标
}
else if(n>find)
{
bottom = mid - 1;// 调整下限的下标。
}
else
{
Console.WriteLine("找到了,在第" + mid + "个元素上");
break;
}
}
}

二维数组:
表格的模型。
定义:
数据类型[,] 数组名 = new 数组类型[维度长度,维度长度];
int[,] a = new int[3,4];
int[,] a = new int[3, 4] { { 1, 2, 3, 4 },{ 5, 6, 7, 8 }, { 9, 0, 9, 8 } };
赋值:
数组名[下标,下标] = 值;
a[0,0] = 5;
a[2,3] = 10;
取值:
数组名[下标,下标];

冒泡排序

案例一。

案例二。//30人投票,从5个候选人选一个出来。

折半查找

案例三。

二维数组。

案例4.

案例5.用二维数组画推箱子的地图。

时间: 2024-10-21 02:53:57

数组的应用:一。冒泡排序二。折半查找!二维数组的学习。的相关文章

数组的应用:冒泡排序,折半查找及二维数组的应用

人类思维--计算机逻辑思维 逻辑思维--代码实现 写书法: 描红——临摹——碑贴——自成一体——草 复习: 数组:一维,二维,多维 一维:豆角.连续,同一类型. 定义:数据类型[] 数组名=new 数据类型[长度]{.,.,.,.}; 赋值:数组名[下标] = 值 取值:数组名[下标] 灵活运用:与for循环的结合应用. 1.求最大值,最小值. 2.求总和,平均. 3.随机(生成下标)抽值. 数组的应用: (一).冒泡排序. 1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数. 2

C#6 冒泡 折半查找 二维数组

人类思维--计算机逻辑思维 逻辑思维--代码实现 写书法: 描红--临摹--碑贴--自成一体--草 章节复习: 数组:一维,二维,多维 一维:豆角.连续,同一类型. 定义:数据类型[] 数组名=new 数据类型[长度]{.,.,.,.}; 赋值:数组名[下标] = 值 取值:数组名[下标] 灵活运用:与for循环的结合应用. 1.求最大值,最小值. 2.求总和,平均. 3.随机(生成下标)抽值. 新课: 数组的应用: (一).冒泡排序. 1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的

冒泡排序,折半查找

(一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 作业:1.先把冒泡排序写一遍.2.使用冒泡排序,做青歌赛的打分程序.要求去掉两个最高,两个最低分,求平均得分. 代码. (二).折半查找.前提:数组必须是有序的.思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标.1.求中间下标:mid = (top+bottom)/

选择排序和冒泡排序以及折半查找

1.选择排序 2.冒泡排序 3.折半查找 方式一:开发使用的方法 方式二:普通的折半

冒泡排序及折半查找

冒泡排序: 两层循环 1.外层循环:循环趟数      n-1: 2.内层循环:两两比较的次数      n-2: int[] shuzu = new int[10]{1,9,5,6,2,3,4,7,8,10 }; for (int i = 0; i < shuzu.length; i++) { for (int j = i; j < shuzu.length - 1; j++) { if (shuzu[i] > shuzu[j + 1]) { int zhong = shuzu[i];

Java实现冒泡排序、折半查找

1.冒泡排序 public class BubbleSort{ public static void main(String[] args){ int score[] = {67, 69, 75, 87, 89, 90, 99, 100}; for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序 for(int j = 0 ;j < score.length - i - 1; j++){ //对当前无序区间score[0......leng

Java习题(选择,冒泡排序,折半查找)

解决问题如下: 1.求1+2!+3!+...+20!的和. 2.获取数组中的最大和最小值. 3.对数组进行选择排序.冒泡排序. 4.在数组中查找某个数的位置(折半查找). 折半查找:      适合顺序表的查找,数组中存的是按顺序排列的元素,方法如下:定义变量low,mid,high分别指向数组中的最低位,中间和最高位的元素:比较要查找的元素和mid指向的元素,如果比mid大,则在mid和high之间继续查找,low=mid+1; 否则在low和mid之间继续查找,high=mid-1.直到lo

查找之二折半查找(二分法查找)和插值查找

一.折半查找的前提是线性表中的记录必须好似关键码有序,线性表必须是顺序存储的. 二.折半查找 1 public class Binary_SearchDemo01 { 2 static int[] num = {0,1,3,5}; 3 public static void main(String[] args) { 4 int key = 3; 5 int x = Sequential_Search(key); 6 System.out.println(num[x]); 7 } 8 privat

数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结

1. 数组的三种声明方式 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test1 = new String[6]; test1[0] = "数组0"; test1[1] = "数组1"; //第二种 例: String[] test2 = {"数组0","数组1","数组2","

js 取得数组中的最大值和最小值(含多维数组)

转自:http://www.dewen.org/q/433 方法一: var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a));//最小值 多维数组可以这么修改: var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//转化为一维数组 alert(Math.max.apply(null,ta