Untitled
unknown
c_cpp
3 years ago
1.0 kB
4
Indexable
#include<stdio.h> #include<ctype.h> #include<stack> #include<queue> #include<string.h> #include<iostream> using namespace std; char ary[100000]; int main(){ while(scanf("%[^\n]",ary)!=EOF){ queue<char> alphaQueue; stack<int> numStack; int len=strlen(ary); for(int i=0;i<len;i++){ if(isdigit(ary[i])){ numStack.push(ary[i]); } } int i,j; for(i=0;i<len;i++){ if(isdigit(ary[i])){ j=i-1; while(!alphaQueue.empty()){ ary[j--]=alphaQueue.front(); alphaQueue.pop(); } ary[i]=numStack.top(); numStack.pop(); } else if(isalpha(ary[i])){ alphaQueue.push(ary[i]); } } j=i-1; while(!alphaQueue.empty()){ ary[j--]=alphaQueue.front(); alphaQueue.pop(); } puts(ary); scanf("\n"); } }
Editor is loading...