1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
| #include <iostream>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#include <string>
const int n=10;
using namespace std;
struct Node{
Node *next;
int el;
};
Node* MassVozvr(Node *Head, Node *tail)
{
tail=(Node*)&Head;
int i, Summel=0, serial=1;
for(i=0;i<n;i++)
{
Node *t=new Node();
t->el=i+1;
tail->next=t;
tail=t;
}
Node *p=Head;
while(p!=NULL)
{
if((p->next!=NULL)&&((p->el)>(p->next->el)))
serial++;
int k=p->el;
Summel=Summel+k;
cout<<p->el<<" ";
p=p->next;
}
printf("\n");
printf("Summ:%d\nSerial:%d\n",Summel,serial);
return Head;
}
Node* delet(Node *Head)
{
while(Head!=NULL)
{
Node *p=Head;
Head=Head->next;
delete p;
}
return Head;
}
Node* MassUbiv(Node *Head, Node *tail)
{
int i, Summel=0, Serial=1;
tail=(Node*)&Head;
for(i=0;i<n;i++)
{
Node *b=new Node();
b->el=n-i;
b->next=NULL;
tail->next=b;
tail=b;
}
Node *v1=Head;
while(v1!=NULL)
{
if((v1->next!=NULL)&&((v1->el)>(v1->next->el)))
Serial++;
int k=v1->el;
Summel=Summel+k;
cout<<v1->el<<" ";
v1=v1->next;
}
printf("\n");
printf("Summ:%d\nSerial:%d\n",Summel,Serial);
return Head;
}
Node* Randomize(Node *Head, Node *tail)
{ tail=(Node*)&Head;
int i, Summel=0, Serial=1;
for(i=0;i<n;i++)
{
Node *g=new Node();
g->el=rand()%1000;
tail->next=g;
tail=g;
}
Node *g1=Head;
while(g1!=NULL)
{
if((g1->next!=NULL)&&((g1->el)>(g1->next->el)))
Serial++;
int k=g1->el;
Summel=Summel+k;
cout<<g1->el<<" ";
g1=g1->next;
}
printf("\nSumm:%d\nSerial:%d",Summel,Serial);
return Head;
}
int main()
{
int i;
Node *Head=NULL, *tail=NULL;
printf("\n\n-------------Increase------------\n\n");
Head=MassVozvr(Head,tail);
Head=delet(Head);
printf("\n\n-------------Deacrease------------\n\n");
Head=MassUbiv(Head, tail);
Head=delet(Head);
printf("\n\n-------------Deacrease------------\n\n");
Head=Randomize(Head, tail);
Head=delet(Head);
} |