• 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
  • 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
首页 » 生活常识 » 交换两个数的方法(Java交换两个数的方法,不要直接写在main方法里的,是单独的方法)

交换两个数的方法(Java交换两个数的方法,不要直接写在main方法里的,是单独的方法)

分类:生活常识 日期:2022-08-10 07:42 浏览:6 次

1.Java 交换两个数的方法,不要直接写在main方法里的,是单独的方法

Java 方法的参数是简单类型的时候,是按值传递的 (pass by value),所以Java里面不能实现和C中一样的swap方法来交换两个数的值。非要用的话只能这样写:

//交换数组data中的第a和第b个元素

public static void swap(int[] data, int a, int b) {

int t = data[a];

data[a] = data[b];

data[b] = t;

} 估计不是你想要的效果。

关于Java中参数和引用的问题建议看看下面的博文:

/zw_2011/article/details/6431448

2.在C语言中如何将两个数进行互换

将两个数进行互换的方法有两种形式:

1、借助中间变量完成,此方法直观,易理解,使用最多

2、不需要中间变量,通过变量身的运算完成交换。

参考代码:

方法1:

int a=2,b=3,t;

t=a; //先将a存储到临时变量t中

a=b; //将b存储到a中

b=t; //将临时变量中的原a值存储到b中

printf("a=%d b=%d\n", a,b );

方法2:

int a=2,b=3,t;

a += b ; //把两数之和存到a中

b= a-b ; //用两数和减去b可得原a,存储到b中

a= a-b ; //因为b现在是原a值,所以,用两数和减去b(原a)可得 原b,存储到a中

此方法,还可以用异或运算来实现,原理相同。

3.编程语言中交换两个变量的值的几种方案

编程中有时会需要交换两个变量的值,之前常用的方法就是利用一个临时变量作为中间值交换,并且一直受限于现实中两瓶油交换的思维,认为这是唯一的方法,但在编程中真的如此吗?假设:int a=1;int b=2;现在需要交换两个int变量的值 1.常用的方法,使用临时变量:int c = a;a = b;b = c;这是常用的也是最容易想到的方法。

2.运用位运算^:a^=b;b^=a;a^=b;或者a=a^b;b=a^b;a=a^b;我的理解:^即异或操作符,相同为0,不同为1,对于二进制有三种形式,即: m=0, n=0; 第一次计算m^n结果m=0,第二次计算n^=m结果为0,即是m原来的值。 m=0, n=1; 第一次计算m^n结果m=1,第二次计算n^=m结果为0,还是m原来的值。

m=1, n=1; 第一次计算m^n结果m=0,第二次计算n^=m结果为1,还是m原来的值。 变量名只是代号,不考虑顺序,只有三种形式。

由此得出结论位m与另一位n进行异或运算两次之后表达式(m^n)^n的值仍为原来的值,将这个值赋给另一个变量就实现交换。 由于计算机中数值表示形式为二进制,由一位推广至8、16、32位,结论不变,因此对于int值来说也实现了交换。

3.运用算术运算,容易理解,也挺巧妙:a=a+b;b=a-b;//b=(a+b)-b a=a-b;//a=a+b-((a+b)-b) 三种方案第二种最优,但不太好理解,第三种次之,最容易理解的属第一种方案,但空间及时间开销较大。附:异或值表输入运算符输入结果1^011^100^000^11。

4.C语言 交换两个数

#include

#include

#include

int fun1(int *a,int *b)

{

int temp;

if(*a>=*b)

{

temp=*a;

}

else

{

temp=*b;

}

return(temp);

}

int main(void)

{

int a=2;

int b=1;

printf("a=%d,b=%d\n",a,b);

fun2(&a,&b);

printf("a=%d,b=%d\n",a,b);

return 0;

}

5.常用的数据交换方式有哪些

一、线路交换

所谓线路交换是通过网络中的节点在两个站之间建立一条专用的通讯线路。如图1的电话系统,这种线路交换系统,在两个站之间有一个实际的物理连接,这种连接是节点之间的连接序列。在传输任何数据之间都必须建立点到点的线路。如站1发送一个请求到节点2,请求与站点2建立一个连接,那么站点1到节点1是一条专用线路。在交换机上分配一个专用的通道连接到节点2再到站点2的通讯。至此就建立了一条从站点1经过节点2再到站点2的通讯物理通道。这样就可以将话音从站点1传送到站点2了,一般来说这种连接是全双工的,可以在两个方向传输话音(数据)。

二、报文交换

这种交换方式不需要在两个站点之间建立一条专用通路,如果一个站想要向站点2发送一个报文(信息的一个逻辑单位),它把站点2的地址(编码方式,叫做地址码)附加在要发送的报文上。然后把报文通过网络从节点到节点进行发送,在每个节点中(如要通过多个节点才能发送到站点2)完整地接收整个报文且暂存这个报文,然后再发送到下一个节点。在交换网中,每个节点是一个电子或机电结合的交换设备,每个节点通常是一台通用的小型计算机。它具有足够的存储容量来缓存进入的报文。一个报文在每个节点的延迟时间等于接收报文的所有位所需要的时间,加上等待时间和重传到下一节点所需要的排队延时时间。

报文交换有以下优点

1、线路效率较高,这是因为许多报文可以用分时方式共享一条节点到节点的通道。

2、不需要同时使用发送器和接收器来传输数据,网络可以在接收器可用之前暂时存储这个报文。

3、在线路交换网上,当通讯量变得很大时,就不能接受某些呼叫。而在报文交换上却仍然可以接收报文,只是传送延迟会增加。

4、报文交换系统可以把一个报文发送到多个目的地。

5、能够建立报文的优先权。

6、报文交换网可以进行速度和代码的转换,因为每个站都可以用它特有的数据传输率连接到其他点,所以两个不同传输率的站也可以连接,另外还可以转换传输数据的格式。

三、分组交换

分组交换方式兼有报文交换和线路交换的优点。其形式上非常像报文交换。主要差别在于分组交换网中要限制传输的数据单位长度,一般在报文交换系统中可传送的报文数据位数可做得很长,而在分组交换中,传送报文的最大长度是有限制的,如超出某一长度,报文必须要分割成较少的单位,然后依次发送,我们通常称这些较少的数据单位为分组。这就是报文交换与分组交换所不同之处。

6.C语言 交换两个数

void swap (int &x,int &y){int a; a=x;x=y;y=a;}#include void main(){ int x,y; scanf("%d %d",&x,&y); swap (x,y); printf("%d %d",x,y);}首先,swap函数在没有定义返回值类型时,编译器会默认返回int类型,所以加void无返回类型就正确。

其次,楼主的参数传递是值传递,不会交换两个数,参数可以使用引用传递,如我的改动,也可以以指针传递;希望对楼主有帮助;。

交换两个数的方法有哪些

相关推荐:
  • 如何挑选山药的好坏?(山药如何做好吃又简单)
  • 花插在花瓶里多久换水(富贵竹长根了多久换水)
  • 马桶不小心倒入了泡脚中药包,堵了,怎么办
  • 香菇需不需要用水焯一下(香菇必须用水焯一下)
  • 中南大学在哪儿(中南大学是985吗)
上一篇:莲子典故(有哪些关于莲子的神话故事) 下一篇:数控刀具的(数控刀具知识)

相关推荐

如何挑选山药的好坏?(山药如何做好吃又简单)
花插在花瓶里多久换水(富贵竹长根了多久换水)
马桶不小心倒入了泡脚中药包,堵了,怎么办
香菇需不需要用水焯一下(香菇必须用水焯一下)
中南大学在哪儿(中南大学是985吗)
用燃烧的方法区别棉织品和羊毛织品的原理是什么呢
两廊一圈两廊的起止点分别是(两廊一圈中两廊的起止点分别是哪)
油鱼和鳕鱼的区别图片(油鱼和鳕鱼的蒸出来区别图片)
保定高阳县到甘肃西和县高速(保定市到高阳县多少公里)
鸭蛋和香菜一起吃有什么功效(生吃香菜的功效与作用)
潮流时尚 写作素材 创新创业
生活常识 策划方案 安全知识
自考专业 家居生活 三农创业
励志故事 时尚穿搭 星座知识
热门分类

声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
 蜀ICP备2020033479号-4  Copyright © 2016  学习鸟. 页面生成时间:2.760秒

返回顶部