diff options
| author | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2015-05-03 09:25:28 +0200 |
|---|---|---|
| committer | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2015-05-03 09:25:28 +0200 |
| commit | afd4ba110faa7374b2cb0bff5056e29e985fc4e7 (patch) | |
| tree | 0dcba82aaa33ba47e47850a556c0e4d120791d35 | |
| parent | 98a8e2d520baf254407e589b3de8bde7c73dc871 (diff) | |
Optimise leftDefragmentation method
| -rw-r--r-- | src/Model/Grid.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/Model/Grid.cpp b/src/Model/Grid.cpp index b1b9dda..ed8686f 100644 --- a/src/Model/Grid.cpp +++ b/src/Model/Grid.cpp @@ -137,18 +137,22 @@ std::vector<int> Grid::rightDefragment(std::vector<int> line){ } std::vector<int> Grid::leftDefragment(std::vector<int> line){ - for(int j=0; j<m_size-1;j++){ - for(int i=m_size-1; i>0;i--){ - int val1=line.at(i); - int val2=line.at(i-1); - if(val1 != 0 && val2 == 0){ - line.at(i)=0; - line.at(i-1)=val1; - } - } - } - return line; + //for(int j=0; j<m_size-1;j++){ + //for(int i=m_size-1; i>0;i--){ + //int val1=line.at(i); + //int val2=line.at(i-1); + + //if(val1 != 0 && val2 == 0){ + //line.at(i)=0; + //line.at(i-1)=val1; + //} + //} + //} + + std::vector<int> reversedLine= this->reverseLine(line); + + return this->reverseLine(this->rightDefragment(reversedLine)); } std::vector<int> Grid::rightMerge(std::vector<int> line){ for(int i=0; i< m_size-1;i++){ |
