用vector一直是超时问题,测试是有死循环1,求解决

#include<iostream>
using namespace std;
#include<vector>
int main(){
    vector<int>xx;
    int n;
    cin>>n;
    while(n!=1){
    
    if(n%2==0){
        n /=2;
        xx.push_back(n);
    }else 
         n=n*3+1;
    xx.push_back(n);
    }
    while(!xx.empty()){
        cout<<xx.back()<<" ";//.back()是一个返回vector尾部元素的函数 
    }
    return 0;
}

else这里少了大括号了吧?

while(n!=1){
    
    if(n%2==0)
    {
        n /=2;
        xx.push_back(n);
    } 
    else 
    {
         n=n*3+1;
        xx.push_back(n);
    }
}

你把最后的while先注释掉,随便输出个值,看看是否死循环