题目描述
顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。以下是移位的多个例子:
原数据:1,2,3,4,5,6
左移3位:4,5,6,1,2,3,与原数据对比
右移4位:3,4,5,6,1,2,与原数据对比
请编写程序实现顺序表的循环移位操作

左移算法
for (int i = 0; i < size; ++i) {
temp[i] = array[(i + bits + size) % size];
}
右移算法
for (int i = 0; i < size; ++i) {
temp[i] = array[(i - bits + size) % size];
}
源码:

进阶版:


网友评论