Przesuwanie QVector

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Jak przesunąć wartości w tablicy QVector, przy tym usunąć pierwszą, tak aby zrobić sobie na końcu miejsce na kolejną wartość? Jest od tego jakaś metoda, szukam i nie znalazłem. Pytanie może banalne, ale proszę o pomoc.

Pozdrawiam.

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
for(auto i = 1; i < vec.size(); ++i) {
    vec[i-1] = vec[i];
}

vec[vec.size()-2] oraz vec[vec.size()-1] zawierają te same wartości, więc możesz robić co chcesz z tą drugą.

ew jak człowiek użyj std::rotate tj. rotate(begin(v), begin(v)+1, end(v));
na przykładzie:

Kopiuj
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int v[] = {1, 2, 3, 4};
	rotate(begin(v), begin(v)+1, end(v));
	for(auto e: v) {
		cout << e;
	}
	return 0;
}

http://ideone.com/TX3DUW

VI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 13
0

Hmmm... Znaczy, że z metod tutaj: http://doc.qt.io/qt-5/qvector.html na marne szukałem tego co mi potrzeba.
Dziękuję.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.