算法的积累

一.求两个正整数的最大公约数

欧几里得算法:又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。

                          计算公式gcd(a,b) = gcd(b,a mod b)。

二.结构体的排序

typedef struct student
{
    string name;           //学生姓名
    int achievement;     //学生成绩
} student;
 //这是函数是sort函数的第三个参数
//如果希望升序排序,就是"<",降序排列就是">"号
//如果希望用其他的参数作为排序条件,只需要把相应的条件改一下(如果改成name),这样结构体就以name作为排序标准
bool comparison(student a,student b){
    return a.achievement<b.achievement;
}
int main()
{

  sort(a,a+n,comparison);
  return 0;
}

三.结构体队列的快速赋值法

struct node {
	node() {}
	node(string ss, int tt) {
		s = ss, t = tt;
	}
	string s;
	int t;
};//这样定义后可以直接给队列赋值。

queue<node> q;


string s = "012345678";
q.push(node(s, 0));

四.循环数组

例如数组下标012345678循环赋值,设当前下标为i,则i向前移动n个单位后,当前坐标

i=(i+9)%9。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值