达内-----二维数组和各种排序

******************先把昨天的作业解决掉******************

a)         写一个彩票的生成代码.

                        i.              要求

1.         1-33随机选7个无重复的数字(即用数组保存7个数字,所有数字与其下标以前的数字比较,如果有重复的,重新生成).

2.         测试方法用1-8随机选7.

*********************这是今天的内容*********************

1 1 2 3 5 8 13 ………….费氏数列

f(n)=f(n-1)+f(n-2)   (n>2)

f(n)=1            (0<n<3)

计算数列的第n项值?

 

数组拷贝

 

******************************分隔线******************************

数组排序

由大到小  降序

由小到大  升序(强调)

冒泡排序/选择排序/插入排序/快速排序.

冒泡排序:

       相邻两个就行比较,如果前面大于后面,交换位置,:

       3,5,7,6,4,8,2,1à3,5,6,4,7,2,1,8à进行7次后à1,2,3,4,5,6,7,8

 

选择排序(作业):

       记录最小的数的下标,与第一个数字交换.n-1个依次交换….

 

插入排序(作业):

       拿第一个数做一个小的数组,然后把第二个数插入进来,然后插入第三个数….直到n-1

  

 

快速排序(常用):

       先找一个参照元素(随意),然后把所有比参照小的放在参照前,同时把所有比参照大的放在参照的后面.把数组分成了3部分:比参照小的,参照元素和比笔参照大的三个部分.然后递归处理比参照小的和比参照大的部分

       49,67,76,13,15,27

       i=1j=6(n)

       j开始找,比参照小的数字,找到了交换(j=数字所在的位置-1)

       27,67,76,13,15,49               (i=1j=5)

       i开始找比参照大的数字,找到了交换(i=数字+1)

       27,49,76,13,15,67         (i=3j=5)

       重复1,2

       27,15,76,13,49,57         (i=3j=4)

       27,15,49,13,76,67         (j=3j=3)

       27,15,13,49,76,67        

******************************分隔线******************************

 

平衡二叉树是只层数差不超过2层,即为平衡二叉树,小的放左边,大的在右边,相等的无法放入平衡二叉树,注意,要从层数差上判断是否为二叉树.

 

最多用到二维数组

由一维数组组成的数组叫二维数组.

二维数组的数组元素就是一维数组

 

 格式:

int[][] arr=new int[一维数组的个数][一维数组的元素个数];

for(;;){

       for(;;){

}

}

 

arr                 代表二维数组

arr[0]             代表二维数组的第一个元素(一维数组)

arr[i][j]          代表int,i+1个一维数组里的第j+1个元素.

i                    一维数组在二维数组的下标

j                    数据在一维数组的下标

 

 ******************************分隔线******************************

作业:

1.  今天笔记看一遍,理解.

2.  编程题:

a)         笔记里的选择排序和插入排序

b)        编写五子棋游戏,

                        i.              注意:取输入坐标时,String

                      ii.              String in=sc.next();

                    iii.              char c1=in.charAt(0);

                     iv.              char c2=in.charAt(1);

******************************分隔线******************************

好吧,今晚又到2点才睡-_-|||快要变熊猫了

posted @ 2010-08-06 02:07  小猫~zZ~  阅读(965)  评论(0)    收藏  举报