E' sufficente che prima de setTimeout metti un ciclo for, prendiamo in esame il tuo codice:
codice:
//nDivs è il numero di divs totali da processare
//daTime è il tempo in millisecondi di base
function scambio(nDivs, daTime) {
	/* Qua aggiungiamo un ciclo for */
	for (i = 0; i <= nDivs ; i++) {
		//prima usiamo hide
		setTimeout(function() {
			hide("s" + i); //concateniamo a "s" il valore di i
		}, daTime);
		//poi usiamo show
		setTimeout(function() {
		//per comodità, e per sicurezza, mettiamo tra parentesi
		//la somma del valore iterativo e il numero 1
			show("s" + (i + 1));
		}, daTime);
		daTime += 1000;
	}
}
Già commentato.
Comunque non vedo dove tu abbia messo il ciclo for, non ne vedo alcuno nel tuo codice...
Allora, per capire come funziona il ciclo for, ti rimando a queste pagine:
http://www.w3schools.com/js/js_loop_for.asp
W3C contiene un esempio che fa proprio al caso tuo
http://www.html.it/pag/15280/ciclo-for/
Ho apprezzato molto che tu abbia almeno provato a fare il codice