Cum inversezi o lista simplu inlantuita fara memorie suplimentara
Răspunsuri la întrebare
Răspuns de
0
//Te folosesti de interschimbarea prin adunare:
//a=a+b;
//b=a-b;
//a=a-b;
// sau poti folosi prin xor
//x ^= y;
//y ^= x;
//x ^= y;
//Ideea e sa nu te folosesti de alte variabile. Uite un exemplu:
#include <iostream>
using namespace std;
int main()
{
int n,v[]={2, 3, 8, 45, 32, 28};
n=6;
for(int i=0;i<n/2;i++)
{
v[i]=v[i]+v[n-i-1];
v[n-i-1]=v[i]-v[n-i-1];
v[i]=v[i]-v[n-i-1];
}
for(int i=0;i<n;i++)
cout<<v[i]<<' ';
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă