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); } } }
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()); } }
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); } }
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; }
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++; } }
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++; }
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++; } } }
public override void Swap(MyDataStruct a, MyDataStruct b) { throw new NotImplementedException(); }
public override void Swap(int j, MyDataStruct a, MyDataStruct b) { data[j - 1] = a; data[j] = b; }
public override void Add(MyDataStruct nauj) { data[length] = nauj; length++; }
public override void Swap(MyDataStruct a, MyDataStruct b) { prevNode.data = a; currentNode.data = b; }
public MyLinkedListNode(MyDataStruct data) { this.data = data; }