摘要: 第二章:基本的算法(1) 下面就从编程珠玑的第二章算法讲起,首先请看问题描述:将一个n元一维向量向左旋转i个位置。例如:当n=8时且i=3时,向量abcdefgh旋转为defghabc。简单的代码可以使用一个n元的中间变量在n步内完成工作,下面介绍一些更简便的算法。1:杂技算法: 移动x[0]到临时变量t,然后移动x[i]到x[0],x[2i]到x[i],依次类推(将x中的所有下标对n取模),直到返回到取x[0]值的元素,此时改为从t取值然后终止过程,当i为3时n为12时,元素安如下顺序进行移动:(此代码用到了求最大公约数的算法) 1 #include<iostream> 2 3 阅读全文
posted @ 2012-12-14 21:50 helloyu 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 下面就从编程珠玑的第二章算法讲起,首先请看问题描述:将一个n元一维向量向左旋转i个位置。例如:当n=8时且i=3时,向量abcdefgh旋转为defghabc。简单的代码可以使用一个n元的中间变量在n步内完成工作,下面介绍一些更简便的算法。1:杂技算法: 移动x[0]到临时变量t,然后移动x[i]到x[0],x[2i]到x[i],依次类推(将x中的所有下标对n取模),直到返回到取x[0]值的元素,此时改为从t取值然后终止过程,当i为3时n为12时,元素安如下顺序进行移动:(此代码用到了求最大公约数的算法) 1 #include<iostream> 2 3 using namespa 阅读全文
posted @ 2012-12-14 20:15 helloyu 阅读(126) 评论(0) 推荐(0) 编辑