From afd4ba110faa7374b2cb0bff5056e29e985fc4e7 Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Sun, 3 May 2015 09:25:28 +0200 Subject: [PATCH] Optimise leftDefragmentation method --- src/Model/Grid.cpp | 26 +++++++++++++++----------- 1 file 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 Grid::rightDefragment(std::vector line){ } std::vector Grid::leftDefragment(std::vector line){ - for(int j=0; j0;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; j0;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 reversedLine= this->reverseLine(line); + + return this->reverseLine(this->rightDefragment(reversedLine)); } std::vector Grid::rightMerge(std::vector line){ for(int i=0; i< m_size-1;i++){