. Numb int.
{
if (Numb <= k)
Numb k,
{
if (Numb == 1)
Numb ,
first = first.Next;
first first.Next,
Else
{
Element temp;
temp = first;
temp first.
for (int i = 1; i < Numb-1; i++)
Numb-1, i++
{
temp = temp.Next;
temp temp.Next.
}
temp.Next = temp.Next.Next;
temp.Next temp.Next.Next.
}
K--;
.
}
}
Public potok GetByIndex(int Number);
. : , .
{
if (Number <= k)
Number k,
{
Element temp = first;
Element temp first
for (int i = 1; i < Number; i++)
Number i++
{
temp = temp.Next;
temp temp.Next.
}
Return temp.Potok;
temp.Potok.
}
Else
Return null;
null.
}
Public potok ReadNext();
. , , null.
{
if (k!= 0)
k ,
{
if (mNext!= null)
mNext ,
mNext = mNext.Next;
mNext
Else
mNext = first;
mNext first
if (mNext == null)
mNext ,
mNext = first;
mNext first
Return mNext.Potok;
( mNext.Potok).
}
Else return null;
null.
}
}
}
//----------------------------------------------------------------------------------------------------------------------------
Class SystemManager
.
{
const int N = 20;
private Process[] arr = new Process[N];
.
Private string mOS;
mOS string .
Private int k, first, last;
k, first, last int SystemManage r.
Public bool Empty();
. . true, false.
{
Get
{
if (k == 0)
k ,
Return true;
true
Else
Return false;
false.
}
}
Public bool Full();
. . true, false.
{
Get
{
if (k == N)
|
|
k ,
Return true;
true
Else
Return false;
false.
}
}
Public void Add(Process Proc);
ProcProcess . Proc.
{
arr[last] = Proc;
arr[last] Proc.
last++;
last .
if (last == N)
last ,
last = 0;
last
k++;
k .
}
Public void Delete();
.
{
arr[first] = null;
arr[first] .
first++;
.
if (first == N)
first ,
first = 0;
first .
}
Public int Count()
k.
{
Return k;
}
Public Process GetByIndex(int Number);
.
{
return arr[(index + first) % N];
Number int .
}
Public void SaveToFile(string path);
. . path string . .
{
Stream TestFileStream = File.Create(path);
SoapFormatter serializer = new SoapFormatter();
Serializer.Serialize(TestFileStream, this);
TestFileStream.Close();
}