If you have any query feel free to chat us!
Happy Coding! Happy Learning!
Spiral printing a matrix means printing the elements in a spiral pattern, starting from the top-left corner and moving in a clockwise direction.
To achieve this, we use four variables to keep track of the current boundaries of the spiral:
top
: The topmost row index.bottom
: The bottommost row index.left
: The leftmost column index.right
: The rightmost column index.We start by printing the elements in the top row from
left
toright
. Then, we incrementtop
to move down to the next row and print the elements in the rightmost column fromtop
tobottom
. Next, we decrementright
to move to the left column and print the elements in the bottom row fromright
toleft
. Finally, we incrementleft
to move to the right column and print the elements in the leftmost column frombottom
totop
. We repeat these steps until we have printed all the elements in the matrix.Here's the C++ code to perform spiral printing on a given matrix:
cppCopy code
#include <iostream> #include <vector> void spiralPrintMatrix(std::vector<std::vector<int>>& matrix) { int rows = matrix.size(); int cols = matrix[0].size(); int top = 0; int bottom = rows - 1; int left = 0; int right = cols - 1; while (top <= bottom && left <= right) { // Print top row for (int i = left; i <= right; i++) { std::cout << matrix[top][i] << " "; } top++; // Print rightmost column for (int i = top; i <= bottom; i++) { std::cout << matrix[i][right] << " "; } right--; // Print bottom row (if applicable) if (top <= bottom) { for (int i = right; i >= left; i--) { std::cout << matrix[bottom][i] << " "; } bottom--; } // Print leftmost column (if applicable) if (left <= right) { for (int i = bottom; i >= top; i--) { std::cout << matrix[i][left] << " "; } left++; } } } int main() { std::vector<std::vector<int>> matrix = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; spiralPrintMatrix(matrix); return 0; }
Example Output:
Copy code
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
In this code, the
spiralPrintMatrix
function performs the spiral printing on the given matrix. The time complexity of this approach is O(rows * cols), where rows and cols are the dimensions of the matrix.
Comments: 2
SCIAKU Team please upload 1st video of TREE please please please, please
I bought this course, it worth it!
Hi i want to buy this course but you dont have master card payment method please let me know how i can buy it
Dear mk.info.work, Now we have all types of payment options. If you need to purchase just checkout our official website