Data Structure Array: Program for array rotation
2014-04-06 10:40
295 查看
http://www.geeksforgeeks.org/array-rotation/
O(n), O(1)
O(n), O(1)
O(n), O(1)
#include <iostream> #include <vector> #include <algorithm> #include <queue> #include <stack> #include <string> #include <fstream> #include <map> using namespace std; int gcd(int a, int b) { return b == 0? a : gcd(b, a % b); } void leftrotate(int arr[], int d, int n) { for (int i = 0; i < gcd(d, n); i++) { int tmp = arr[i]; int j = i; while (1) { int k = j + d; if (k >= n) k -= n; if (k == i) break; arr[j] = arr[k]; j = k; } arr[j] = tmp; } } int main() { int arr[7] = {1, 2, 3, 4, 5, 6, 7}; leftrotate(arr, 2, 7); for (int i = 0; i < 7; i++) cout << arr[i] << " "; return 0; }
O(n), O(1)
#include <iostream> #include <vector> #include <algorithm> #include <queue> #include <stack> #include <string> #include <fstream> #include <map> using namespace std; void reverse(int arr[], int a, int b) { for (int i = 0; i < (b-a)/2; i++) swap(arr[a+i], arr[b-1-i]); } void leftrotate(int arr[], int d, int n) { reverse(arr, 0, d); reverse(arr, d, n); reverse(arr, 0, n); } int main() { int arr[7] = {1, 2, 3, 4, 5, 6, 7}; leftrotate(arr, 2, 7); for (int i = 0; i < 7; i++) cout << arr[i] << " "; return 0; }
相关文章推荐
- C Linked List Data Structure Explained with an Example C Program
- Data Structure Array: Maximum of all subarrays of size k
- basic C++ knowledge prepared for data structure (1)
- Data-Driven Sparse Structure Selection for Deep Neural Networks 论文翻译
- Data Structure Array: Find the minimum distance between two numbers
- 【DataStructure&AlgorithmInJava】Ch02-HighArrayDemo
- 分布式稀疏矩阵的数据结构(data structure for distributed sparse matrix)
- RSA 解密的时候报错 而且有乱码:java.lang.ArrayIndexOutOfBoundsException: too much data for RSA block
- Best data structure for dictionary implementation
- What are the most important data structure and algorithms to prepare for Google Interview?
- Data Structure for phone book
- basic C++ knowledge prepared for data structure (2)
- waring:in_array()[function.in-array]:wrong datatype for second argument
- The KS_DATAFORMAT_VIDEOINFOHEADER2 structure describes a video stream that includes settings for bob or weave.
- Data Structure Array: Longest Monotonically Increasing Subsequence Size
- [Seminar Presentation] DCell: A Scalable and Fault-Tolerant Network Structure for Data Centers
- Data Structure Array: Find the two numbers with odd occurrences in an unsorted array
- Data Structure Array: Sort elements by frequency
- Build Tree View Structure for SharePoint List Data
- Data Structure Array: Largest subarray with equal number of 0s and 1s