Ejemplo n.º 1
0
 public override MyDataStruct this[int index]
 {
     get
     {
         using (fs = new FileStream(filedDest, FileMode.Open, FileAccess.ReadWrite))
         {
             Byte[] data = new Byte[8];
             fs.Seek(8 * index, SeekOrigin.Begin);
             fs.Read(data, 0, 8);
             MyDataStruct result = new MyDataStruct(BitConverter.ToInt32(data, 0), BitConverter.ToSingle(data, 4));
             return(result);
         }
     }
     set
     {
         using (fs = new FileStream(filedDest, FileMode.Open, FileAccess.ReadWrite))
         {
             byte[] data = new byte[8];
             BitConverter.GetBytes(value.Int).CopyTo(data, 0);
             BitConverter.GetBytes(value.Float).CopyTo(data, 4);
             fs.Seek(8 * index, SeekOrigin.Begin);
             fs.Write(data, 0, 8);
         }
     }
 }
Ejemplo n.º 2
0
        public MyFileList(string filename, int n, int seed)
        {
            fileDest = filename;
            length   = n;
            Random       rand = new Random(seed);
            MyDataStruct MyData;

            if (File.Exists(filename))
            {
                File.Delete(filename);
            }
            try
            {
                using (BinaryWriter writer = new BinaryWriter(File.Open(filename,
                                                                        FileMode.Create)))
                {
                    writer.Write(4);
                    for (int j = 0; j < length; j++)
                    {
                        MyData = new MyDataStruct(rand);
                        writer.Write(MyData.Int);
                        writer.Write(MyData.Float);
                        writer.Write((j + 1) * 12 + 4);
                    }
                }
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
Ejemplo n.º 3
0
 public override MyDataStruct Next()
 {
     using (fs = new FileStream(fileDest, FileMode.Open, FileAccess.ReadWrite))
     {
         Byte[] data = new Byte[12];
         fs.Seek(nextNode, SeekOrigin.Begin);
         fs.Read(data, 0, 12);
         prevNode    = currentNode;
         currentNode = nextNode;
         MyDataStruct result = new MyDataStruct(BitConverter.ToInt32(data, 0), BitConverter.ToSingle(data, 4));
         nextNode = BitConverter.ToInt32(data, 8);
         return(result);
     }
 }
Ejemplo n.º 4
0
        public MyDataArray(int n, int seed)

        {
            data   = new MyDataStruct[n];
            length = n;
            Random rand = new Random(seed);

            for (int i = 0; i < length - 1; i++)
            {
                data[i] = new MyDataStruct(rand);
            }
            data[length - 1]     = new MyDataStruct(rand);
            data[length - 1].Int = data[length - 2].Int;
        }
Ejemplo n.º 5
0
 public override void Add(MyDataStruct nauj)
 {
     if (length > 0)
     {
         prevNode             = currentNode;
         currentNode.nextNode = new MyLinkedListNode(nauj);
         currentNode          = currentNode.nextNode;
         length++;
     }
     else
     {
         headNode    = new MyLinkedListNode(nauj);
         currentNode = headNode;
         length++;
     }
 }
Ejemplo n.º 6
0
 public override void Add(MyDataStruct nauj)
 {
     //if (File.Exists(filedDest) && length == 0) File.Delete(filedDest);
     try
     {
         using (BinaryWriter writer = new BinaryWriter(File.Open(filedDest, FileMode.Append)))
         {
             writer.Write(nauj.Int);
             writer.Write(nauj.Float);
         }
     }
     catch (IOException ex)
     {
         Console.WriteLine(ex.ToString());
     }
     length++;
 }
Ejemplo n.º 7
0
 public override void Add(MyDataStruct nauj)
 {
     using (BinaryWriter writer = new BinaryWriter(File.Open(fileDest,
                                                             FileMode.Append)))
     {
         if (length > 0)
         {
             writer.Write(nauj.Int);
             writer.Write(nauj.Float);
             writer.Write((Length + 1) * 12 + 4);
             length++;
         }
         else
         {
             writer.Write(4);
             writer.Write(nauj.Int);
             writer.Write(nauj.Float);
             writer.Write((Length + 1) * 12 + 4);
             length++;
         }
     }
 }
Ejemplo n.º 8
0
 public override void Swap(MyDataStruct a, MyDataStruct b)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 9
0
 public override void Swap(int j, MyDataStruct a, MyDataStruct b)
 {
     data[j - 1] = a;
     data[j]     = b;
 }
Ejemplo n.º 10
0
 public override void Add(MyDataStruct nauj)
 {
     data[length] = nauj;
     length++;
 }
Ejemplo n.º 11
0
 public override void Swap(MyDataStruct a, MyDataStruct b)
 {
     prevNode.data    = a;
     currentNode.data = b;
 }
Ejemplo n.º 12
0
 public MyLinkedListNode(MyDataStruct data)
 {
     this.data = data;
 }