美文网首页
Day7 - 类与排序算法

Day7 - 类与排序算法

作者: kiyoko_pq | 来源:发表于2017-04-15 14:24 被阅读0次
class:定义类的关键字。

通过new关键字在堆内存中创建一个类的实例对象。
需求:描述汽车(颜色、轮胎数),描述事物其实就是在描述事物的属性和行为。

  1. 属性对应类中的变量;行为对应类中的方法(函数)
  2. 其实定义类就是定义属性和行为,属性和行为共同称为类的成员(成员变量、成员方法)
    类的特点在于封装
成员变量和局部变量的区别:
  1. 作用范围:
    成员变量作用于整个类中;局部变量作用于函数中或者语句(for)中。
  2. 在内存中的位置:
    成员变量:在堆内存中、因为对象的存在而存在,对象的消失而消失。
    局部变量:在栈内存中,函数执行完,变量消失。


排序算法

插入算法、堆排序、归并排序、希尔排序、快速排序、冒泡排序、选择排序

代码示例
class Demo{
public static void main(String... args){
int[] arr = {5,4,3,2,1,-100,99,-70,34,7,8};
}
public static void swap(int[] arr,int index1,int index2){
int temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
//冒泡排序:相邻的相比较
public static void bubbleSort(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j<arr,length-1-i;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
//选择排序
public staitc void selectSort(int[] arr){
for(int i = 0;i<arr.length-1;i++){
for(int j = i; i<arr.length-1;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}

冒泡图解

冒泡排序图解.png
选择排序
选择排序图解.png

相关文章

  • Day7 - 类与排序算法

    class:定义类的关键字。 通过new关键字在堆内存中创建一个类的实例对象。需求:描述汽车(颜色、轮胎数),描述...

  • 经典算法---排序(摘抄)

    一、排序算法 前言:常见排序算法分类 非线性时间比较类排序:交换类排序(快速排序和冒泡排序)、插入类排序(简单插入...

  • 【非比较类排序算法】计数排序、桶排序(PHP实现)

    常见的经典非比较类排序算法有计数排序、桶排序。区别于比较类排序,非比较类排序利用额外的内存空间实现更快排序,算法以...

  • 排序算法总结

    基础排序算法 基础排序算法相关接口和实现类 接口: 实现类(后续排序的父类): 1.选择排序 两层循环:内层循环进...

  • 2018-04-03 排序算法

    8种排序算法:按照时间复杂度分为两类 简单排序算法:冒泡排序,选择排序,直接插入排序 改进算法:希尔排序,堆排序,...

  • 排序算法之归并排序

    概念 排序类的算法,有很强的实践需求,是非常基础的一类算法。在找工作面试中,排序算法也是大概率出现。本文将讲述排序...

  • 简单排序(选择排序、起泡排序和插入排序)使用详解

    简单排序算法 简单排序算法是一类算法,指那些直观、易理解的排序算法的总和。 到现在为止,我们已经讲了的三种排序算法...

  • 经典排序算法

    1. 排序算法简介 1.1 算法分类 比较类排序(非线性时间比较类排序):通过比较来决定元素间的相对次序,由于其...

  • 推荐系统遇上深度学习(二十)--贝叶斯个性化排序(BPR)算法原

    排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排...

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

网友评论

      本文标题:Day7 - 类与排序算法

      本文链接:https://www.haomeiwen.com/subject/jgsnattx.html