Java数组及快速排序和冒泡排序介绍

Java数组及快速排序和冒泡排序介绍
:本篇主介绍写Java中+的意义及数组的声明和排序
1.对于初学Java的同学,可能经常在输出语句中遇到+号,注意这里的+号可能并非我们数学意义上的加号,而是表示连接符号。
例:System.out.println("小狗的名字是 : " + name );
这里我们在
Java数组及几种有用的排序

:本篇主介绍写Java中+的意义及数组的声明和排序
**1.**对于初学Java的同学,可能经常在输出语句中遇到+号,注意这里的+号可能并非我们数学意义上的加号,而是表示连接符号。
例:System.out.println("小狗的名字是 : " + name ); 这里我们在 eclipse中输出的结果就是小狗的名字name(name是一个字符串,可以随便起一个名字)。
**2.**至于如何区分何时是连接,又何时是+号呢?
我们记住+表连接符号只在8种基本数据类型变量就可以了,8种数据类型即byte,short,long,float,double.char,boolean.注意+号只有与这些类型做运算时才是表示连接符号,其他的都是表数学中的+号。
**3.**数组在Java中的定义与C语言中的差不多可以,但区别就是数组在Java中可以这样定义:
int [ ]x; 这里就是表一维数组。
而二维数组与一维数组在Java中也可以同时定义:
int [ ]x ,y[ ]; 这里的x是一维数组,y是二维数组(因为x前面已经有一个一维数组的符号了,y后面在加一个[ ],就成了y【】【】;即二维数组。
4.
排序中我们首先要熟悉掌握的就是冒泡排序,冒泡排序也是我们日常考试的重点。这里简单的介绍一下冒泡排序的思想(冒泡很简单,大家注意这个思想,慢慢想一会就会懂的):
**冒泡思想:**冒泡第一次排序把数组中最大的数排到最后,第二次排序中把数组中第二大的数排到倒数第二的位置,以此类推,直到把把所有数从小到大的顺序。
说道冒泡楼主推荐一个函数,sort(个人认为很好用),可以强制排序,有兴趣的可以百度一下
5.
快速排序:快速排序也是非常出名的一个排序方法,他的发明人曾因创造了这个思想而获得图灵奖,这里同样简单介绍一下快速排序的思想。
思想:任取待排序序列中的某个元素作为标准( 也称为支点、界点, 一般取第一个元素),通过一次划分,将待排元素分为左右两个子序列,左子序列元素的排序码均小于基准元素的排序码,右子序列的排序码则大于或等于基准元素的排序码,然后分别对两个子序列继续进行划分,直至每一个序列只有一个元素为止。最后得到的序列便是有序序列。
这里楼主附上代码以便便于理解:

`void Quick_Sort(datatype R[],int s,int t) /* 对 R[s] 到 R[t] 的元素进行排序
*/
{ if (s<t)
{ i=Partition(R,s,t);
Quick_Sort(R,s,i-1);
Quick_Sort(R,i+1,t); }
}
int Partition(datatype R[],int low,int high)
{ R[0]=R[low]; /*  暂存界点元素到R[0]中*/
while(low<high) /* 从表的两端交替地向中间扫描 */
{ while(low<high&&R[high].key>=R[0].key) high--;
if(low<high) { R[low]=R[high]; low++; }
   while(low<high&&R[low].key<R[0].key) low++;
 if (low<high) { R[high]=R[low]; high--; }
}
R[low]=R[0]; /*  将界点元素放到其最终位置 */
return low;   /* 返回界点元素所在的位置*/
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值