n*n का एक 2d सरणी दिया गया है और कार्य दिए गए मैट्रिक्स की एंटीस्पाइरल व्यवस्था ढूंढना है
Input : arr[4][4]={1,2,3,4, 5,6,7,8, 9,10,11,12 13,14,15,16} Output: 10 11 7 6 5 9 13 14 15 16 12 8 4 3 2 1

इसके लिए, स्टैक का उपयोग किया जा सकता है जहां मैट्रिक्स के ट्रांसपोज़ को स्टैक में पुश किया जाता है और उल्टे क्रम में पॉप किया जाता है
एल्गोरिदम
START STEP 1 -> declare stack vector element as stk and variables as int r=4, c=4, i, j, rs=0 and cs=0 Step 2 -> store matrix elements in 2-3 array Step 3 -> Loop For i=0 and o<4 and i++ Loop For j=0 and j<4 and j++ Print arr[i][j] End Print \n End Step 4 -> Loop While rs=rs and -i Push arr[r-1][i] End r- - End IF(rs =cs and i- - Push arr[i][rs] End Rs++ End End Step 5 -> Loop While !stk.empty() Print stk.top() Call pop() End STOP
उदाहरण
#include#include using namespace std; int main(){ stack stk; int R=4,C=4,i,j,RS=0,CS=0; int mat[R][C] = { {1,2,3, 4}, {5,6,7,8},{9,10,11,12},{13,14,15,16}}; for(i=0;i<4;i++){ for(j=0;j<4;j++) cout< =RS;--i) stk.push(mat[R-1][i]); R--; } if(RS =CS;i--) stk.push(mat[i][RS]); RS++; } } while(!stk.empty()){ cout< आउटपुट
यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 11 7 6 5 9 13 14 15 16 12 8 4 3 2 1