計蒜客列印鋸齒矩陣
阿新 • • 發佈:2018-12-19
1.問題描述:
2.演算法分析:
因為發現數組的長度不是固定的,而是可變的,所以我們不能使用靜態陣列,我們可以使用動態陣列vector來做。先確定使用的資料結構vector 然後就是先對陣列賦值,將比如上題將12個元素賦值, 然後有一個要注意的點,就是如果某一行都沒有資料,那麼,直接換行空一行出來。 當沒有資料的時候vector陣列的長度必然為0 再依次列印即可。
3.原始碼分析:
#include<iostream> #include<vector> #include<cstdio> using namespace std; int main() { vector<int> nums[10000]; int n,m; cin>>n>>m; for(int i = 0;i<m;i++) { int x,y; cin>>x>>y; nums[x-1].push_back(y); } for(int i = 0;i<n;i++) { if(!nums[i].size()) //判斷某一行是否為空 { cout<<endl; continue; } for(int j = 0;j<nums[i].size();j++) { if(j == nums[i].size()-1) //這一步操作是讓輸出每一行最後一個元素後面無空格 { cout<<nums[i][j]<<endl; break; } cout<<nums[i][j]<<" "; } } return 0; }