冒泡排序 (基本类型),(引用类型)

//基本类型

for(int i=0;i<d.length;i++){
   for(int
j=i+1;j<d.length;j++){
    if(d[i]<d[j]){
     double
temp=d[i];
     d[i]=d[j];
     d[j]=temp;

基本类型排序,需要注意2点,1,排序过程中,需要引用中间值,类似2个瓶子 换水的过程

              2,思想是把大小不同的数的位置改变位置,大的在前面,对比过程中,不能有漏,类似于数学里面的统筹排列

             3,可以针对任何1个数列进行大小排序。

              

//引用类型        背景;player3 是对象为牌的数组,该牌类有,花色,有数字,有威力 3个属性

tmp = new Tmp();
  for (int i = 0; i < player3.length;
i++) {
   for (int p = i + 1; p < player3.length; p++)
{
    if (player3[i].power < player3[p].power)
{
     tmp.color =
player3[i].color;
     tmp.number =
player3[i].number;
     tmp.power =
player3[i].power;

player3[i].color =
player3[p].color;
     player3[i].number =
player3[p].number;
     player3[i].power =
player3[p].power;

player3[p].color =
tmp.color;
     player3[p].number =
tmp.number;
     player3[p].power =
tmp.power;
    }
   }

引用类型排序,需要注意3点, 1, 排序过程中,需要引用中间引用变量,需要重新声明使用,类似2个瓶子 换水的过程

              2,2个位置交换顺序,除了位置以外,最重要的是里面的东西必须交换,意思是所有的属性都必须换。

              3,可以按照指定的属性里面的大小进行排序。

时间: 2025-01-07 11:00:59

冒泡排序 (基本类型),(引用类型)的相关文章

数往知来C#之接口 值类型与引用类型 静态非静态 异常处理 GC垃圾回收 值类型引用类型内存分配&lt;四&gt;

C# 基础接口篇 一.多态复习 使用个new来实现,使用virtual与override    -->new隐藏父类方法 根据当前类型,电泳对应的方法(成员)    -->override重写 无论什么情况,都是执行新的方法(成员) 继承是实现多态的一个前提,没有继承多态是不能实现的 父类与子类实现多态 抽象类与子类实现 抽象类不能实例化 抽象类中的抽象方法没有方法体 抽象类的成员有哪些   ->包含非抽象成员   ->不能实例化   ->子类必须实现父类的 抽象方法,除非子

值类型&amp;引用类型,装箱&amp;拆箱

值类型:声明一个值类型变量,会在栈上分配一个空间,空间里存储的就是变量的值引用类型:声明一个引用类型变量,会在栈中分配一个空间,存储一个引用,这个引用指向了一个托管堆. 值类型:struct,枚举,数值类型,bool类型引用类型:数组,类,接口,委托(delegate),Object,string 可以看下下面的例子 public class Person { public string Name { get; set; } public int Age { get; set; } } publ

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱

6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱 引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱.文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆:最后介绍值类型和引用类型,并说明一些有关它们的重要原理. 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗. 声明变量的内部机制 在.NET程序中,当你声明一个变量,将在内存中分配一块内存.这块内存分为三部分:1,变量名:2,变量类型:3,变量值. 下图揭示了声

js:值类型/引用类型/内存回收/函数传值

把这4个概念放在一起写,因为它们是互通的 值类型:一个变量对应一块内存 var a=1; var b=a; a=2; 此时b还是等于1 就像你的克隆人,你心情不好去跳崖,他才不会傻乎乎地跟着你去跳 数值.boolean.null.undefined都是值类型 引用类型:有的博主这样比喻,一家店,它的引用就是它的钥匙 鉴于“作的精神”,我换一种比喻 一台电视机(内存)和它的遥控器关系(引用变量) 可以用遥控器换频道,但不可以用遥控器把电视变成冰箱 如果这电视不只一个遥控器,那么它们可以共同控制电视

30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法

一:值类型/引用类型的区别      值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引用类型主要包括类类型,接口类型,委托类型和字符串类型等. 关于参数传递,这里有四种:        值类型参数的按值传递:        引用类型参数按值传递: 关于string引用类型参数按值传递的特殊情况:虽然string类型也是引用类型,然而在按值传递时,传递的实参却不会因方法中形参的改变而被

js基本类型 引用类型

参考 https://segmentfault.com/a/1190000005794070 http://blog.csdn.net/yummy_go/article/details/50504688 先看示例: (function () { var temp=11.11; function change(value) { value=22.22; } change(temp); console.log(temp); //11.11 未改变 })(); (function () { funct

js 基本类型&amp;引用类型

1.基本的数据类型有:undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值 基本类型的比较是值的比较.用==比较两个不同类型的变量时会进行一些类型转换.但是当两个值的类型相同的时候,即使是==也相当于是=== 基本类型的变量是存放在栈区的(栈区指内存里的栈内存) 2.对象是属性和方法的集合.也就是说引用类型可以拥有属性和方法 引用类型的存储需要内存的栈区和堆区共同完成.栈区内存保存变量标识符和指向堆内存中该对

聚沙成塔【1】——值类型/引用类型

值类型 :顾名思义就是在内存中储存其值的类型,是存放于堆栈中的类型,13个{sbyte,byte,short,ushort,int,uint,long,ulong,float,double,decimal,bool,char} 引用类型   :在内存中存放的是对其的引用地址,是存放于托管堆中的类型,2个{string,object} -------------------------------------------------------------------------------- ☆

javascript基本数据类型与值类型引用类型说明

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了javascript中的基本数据类型,以及值类型和引用类型的区别与使用 一.基本数据类型 在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String.还含有一种复杂数据类型-Object.

深入C#内存管理来分析值类型&amp;引用类型,装箱&amp;拆箱,堆栈几个概念组合之间的区别

C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑. 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^. 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做装箱,引用类型转为值类型叫拆箱. 但仅仅背过这句话是不够的. C#程序员不必手工管理内存,但要编写高效的代码,就仍需