#include <stdio.h>
struct node {
int value;
struct node *next;
};
void rearrange(struct node *list) {
struct node *p, *q;
int temp;
if (!list || !list -> next) return;
p = list; q = list -> next;
while(q) {
temp = p -> value; p->value = q -> value;
q->value = temp; p = q ->next;
q = p? p ->next : 0;
}
}
int main(void) {
// your code goes here
struct node n1[7];
int i;
for(i=0;i<7;i++)
{
n1[i].value = i+1;
if(i==6)
n1[i].next = 0;
else
n1[i].next = &n1[i+1];
}
rearrange(&n1);
for(i=0;i<7;i++){
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnN0cnVjdCBub2RlIHsKaW50IHZhbHVlOwpzdHJ1Y3Qgbm9kZSAqbmV4dDsKfTsKdm9pZCByZWFycmFuZ2Uoc3RydWN0IG5vZGUgKmxpc3QpIHsKc3RydWN0IG5vZGUgKnAsICpxOwppbnQgdGVtcDsKcHJpbnRmKCIlZFxuIiwhbGlzdCk7CnByaW50ZigiJXBcbiIsbGlzdCk7CnByaW50ZigiJXBcbiIsbGlzdC0+bmV4dCk7CnByaW50ZigiJWRcbiIsIWxpc3QtPm5leHQpOwppZiAoIWxpc3QgfHwgIWxpc3QgLT4gbmV4dCkgcmV0dXJuOwpwID0gbGlzdDsgcSA9IGxpc3QgLT4gbmV4dDsKd2hpbGUocSkgewp0ZW1wID0gcCAtPiB2YWx1ZTsgcC0+dmFsdWUgPSBxIC0+IHZhbHVlOwpxLT52YWx1ZSA9IHRlbXA7IHAgPSBxIC0+bmV4dDsKcSA9IHA/IHAgLT5uZXh0IDogMDsKfSAKcHJpbnRmKCIlcFxuIixwKTsKcHJpbnRmKCIlcFxuIixxKTsKfQoKaW50IG1haW4odm9pZCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJc3RydWN0IG5vZGUgbjFbN107CglpbnQgaTsKCWZvcihpPTA7aTw3O2krKykKCXsKCQluMVtpXS52YWx1ZSA9IGkrMTsKCQlpZihpPT02KQoJCW4xW2ldLm5leHQgPSAwOwoJCWVsc2UKCQluMVtpXS5uZXh0ID0gJm4xW2krMV07Cgl9CgkKCXJlYXJyYW5nZSgmbjEpOwoJCglmb3IoaT0wO2k8NztpKyspewoJCXByaW50ZigiXG4lZCIsbjFbaV0udmFsdWUpOwoJfQoJcmV0dXJuIDA7Cn0K