解题思路:
vector向量,动态数组;
vector
v1.begin()选取第一个元素
v1.clear()清除
v1.push_back(x)表示在vector容器后面添加一个元素x
v1.insert(v1.begin()+2,1)表示将1插入v1[2]的位置
v1.nsert(v1.begin(),1)表示将1插入到v1[0]的位置
迭代器vector
注意事项:
参考代码:
一:c++代码 #include<bits/stdc++.h> using namespace std; int main() { vector<int>v1; int T; scanf("%d",&T); while(T--) { int x,y; cin>>x; v1.push_back(x);//在vector后面添加一个元素x, for(int i=1;i<=8;i++) { cin>>y; if(y>x) v1.push_back(y);//在vector后面,x的后面,添加一个元素y, else v1.insert(v1.begin(),y);//将y插入容器v1[0]的位置; } vector<int>::iterator it; for(it=v1.begin();it!=v1.end();it++) { cout<<*it<<" ";//输出 指针指向的元素it } cout<<endl; v1.clear(); } }
二:C代码 #include<stdio.h> int main() { int a[9],b[9],sa=0,sb=0,n,t,k; scanf("%d",&n); while(n--) { sa=0; sb=0; scanf("%d",&t); for(int i=0;i<8;i++) { scanf("%d",&k); if(t>k) a[sa++]=k; else b[sb++]=k; } for(int i=sa-1;i>=0;i--) { printf("%d ",a[i]); } printf("%d",t); for(int i=0;i<=sb-1;i++) { printf(" %d",b[i]); } printf("\n"); } }
0.0分
2 人评分