CARVIEW |
Select Language
HTTP/2 200
date: Sun, 12 Oct 2025 06:47:15 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=d475e6dbebcbda9f4bd95b550ea65a7650d1f1664c72a5c6ed72cd00a041ca8ca%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22ow7KTaQY5VFUi1nu1JsTuJF442026Rqf%22%3B%7D; HttpOnly; Path=/
cf-ray: 98d4a50cfbadc7d4-BLR
Algoritmi lezione 19 - Quick Sort, parte A - Pastebin.com
SHARE
TWEET

Algoritmi lezione 19 - Quick Sort, parte A
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int partiziona(int v[], int inizio, int fine)
- {
- cout << string(40, '*') << endl;
- cout << "partiziono da " << inizio <<" a " << fine << endl;
- int pivot = v[inizio];
- int cont = 0;
- for (int i = inizio + 1; i <= fine; i++) {
- if (v[i] <= pivot)
- cont++;
- }
- //mettiamo il pivot nella posizione che gli spetta
- int indice_pivot = inizio + cont;
- swap(v[indice_pivot], v[inizio]);
- cout << "per pivot scambio " << v[indice_pivot] << " con " << v[inizio] << endl;
- // spostiamo gli elementi più piccoli del pivot alla sua sinistra
- // e quelli più grandi alla sua destra
- int i = inizio, j = fine;
- while (i < indice_pivot && j > indice_pivot) {
- while (v[i] <= pivot) {
- i++;
- }
- while (v[j] > pivot) {
- j--;
- }
- if (i < indice_pivot && j > indice_pivot) {
- cout << "scambio " << v[i] << " con " << v[j] << endl;
- swap(v[i], v[j]);
- i++; j--;
- }
- }
- cout << string(40, '-') << "\n\n";
- return indice_pivot;
- }
- void quickSort(int v[], int inizio, int fine)
- {
- if (inizio >= fine)
- return;
- int p = partiziona(v, inizio, fine);
- // ordina la parte a sinistra
- quickSort(v, inizio, p - 1);
- // ordina la parte a destra
- quickSort(v, p + 1, fine);
- }
- int main()
- {
- int v[] = { 81, 98, 78, 60, 115, -3, 45, 45, 1, 10 };
- int n = 10;
- quickSort(v, 0, n - 1);
- for (int i = 0; i < n; i++) {
- cout << v[i] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
-
⭐⭐⭐Exchange Exploit T I⭐⭐
Java | 5 sec ago | 0.10 KB
-
⭐⭐⭐MAKE $900 INSTANTLY⭐⭐
Java | 16 sec ago | 0.10 KB
-
⭐⭐⭐Make $15OO in 2O minutesV G⭐⭐
Java | 29 sec ago | 0.10 KB
-
⭐⭐⭐Make $1500 in 20 minutes⭐⭐
Java | 1 min ago | 0.10 KB
-
⭐⭐⭐MAKE $9OO INSTANTLY D M⭐⭐
Java | 1 min ago | 0.10 KB
-
⭐⭐⭐Exchange Exploit⭐⭐
Java | 1 min ago | 0.10 KB
-
⭐⭐⭐MAKE $500 IN 15 MIN⭐⭐
Java | 1 min ago | 0.10 KB
-
⭐⭐⭐Exploit 500$ in 15 Minutes⭐⭐
Java | 1 min ago | 0.10 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand