此处以C语言为例:例:两个整型数:A和B,交换两个数方法一:利用一个中间变量——C先将A的值存入C中,再将B的值赋值给A,最后,再将C的值赋值给B。方法二:利用加减法互换先将A+B的值存入A中,再将A-B的值存入B,此时,B中的值就是原来A的值,最后,再将A-B的值存入A,此时,A的值就是原来B的值...
分类:
其他好文 时间:
2015-07-10 20:44:40
阅读次数:
148
一、交换两个数的值 1 //交换两个数的值 2 #region 方法一 3 int num1 = 10, num2 = 20;//待交换的两个数值 4 int temp;//临时变量 5 temp = ...
头文件:
#include
using namespace std;
#define MAX 10
typedef struct
{
int r[MAX];
}Sqlist;
// 交换两个数
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
return;
}
// 比较大小
void Inser...
分类:
编程语言 时间:
2015-06-23 17:51:43
阅读次数:
106
题意:初始状态为左边空一行,数字在右边28个格子。末态要按一副卡片在一行顺序牌,即第一行为11-17,第二行21-27,。。。。,可以通过四个空格来转移卡片,问从初始状态到末态最少要多少步。
分析:
1、每次操作只能把一个数字放到某个空格,不能交换两个数字的位置。
2、用的是再哈希法hash =(v+10)%M来处理冲突。
3、空格的左边为空或者数字的末尾为7则不能填充。
4、填充空...
分类:
其他好文 时间:
2015-06-07 09:45:12
阅读次数:
263
这个应该是烂大街的一个题目了,闲来无事,随便写写,常用的有三种方法,加减法,乘除法,异或法:1.加减法,这个是最容易的想到的,不过需要注意的,如果在处理浮点型数字的时候可能会精度丢失: a=a+b; b=a-b; a=a-b;2.乘除法,和加减法类似,也会有精度丢失,不过出现的一个...
分类:
编程语言 时间:
2015-06-05 13:40:43
阅读次数:
189
前面我们谈到了,可用通过异或运算交换两个数,而不需要任何的中间变量。 如下面:void exchange(int&a,int&b){a ^=b;b ^=a;a ^=b;}然而,这里面却存在着一个非常隐蔽的陷阱。通常我们在对数组进行操作的时候,会交换数组中的两个元素,如exchang(&a[i], &...
分类:
其他好文 时间:
2015-06-02 12:59:01
阅读次数:
128
引用也可以作为一个函数的参数,如:我们定义交换两个数的函数swap,将函数的参数定义成引用的形式: 1 void swap(int &p1, int &p2) //此处函数的形参都是引用2 {3 int p;4 p=p1;5 p1=p2;6 p2=p;7 ...
分类:
编程语言 时间:
2015-06-01 16:16:27
阅读次数:
169
/////交换两个数据template void Swap(T &a,T &b){ a=a^b; b=a^b; a=a^b;}template void prin(T Arr[], int len){ for (int i=0; ivoid InsertSort(T* pt...
分类:
编程语言 时间:
2015-05-16 11:46:13
阅读次数:
121
最近在看《c++从入门到精通》自学c++,里面有一道课后题是如何做到不适用第三个变量来交换两个数的值,以下是我在网上查找到的资料,记录下并作为笔记。题目:a=10,b=15,将a / b的值互换。通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a.....
分类:
其他好文 时间:
2015-05-13 21:12:29
阅读次数:
108
1. 如果希望通过函数调用修改实参的值,就应该将形参定义为引用类型;
例如:用swap函数交换两个数的值,应该将形参定义为引用类型
2. 为了通过一次函数调用获得多个结果值,也可以使用引用形参;
3. 在向函数传递大型对象时,为了避免复制实参以调高效率,以及使用无法复制的类类型(其复制构造函数为private的类类型)作为形参类型时,
也应该将形参定义为引用类型。但这时使用...
分类:
编程语言 时间:
2015-05-08 12:59:05
阅读次数:
176