コード例 #1
0
        public override void Swap(int a, int b)
        {
            SortableObject swap = data[a];

            data[a] = data[b];
            data[b] = swap;
        }
コード例 #2
0
        public MyDataArray(int n, int seed)
        {
            data = new SortableObject[n];

            Random rand = new Random(seed);

            for (int i = 0; i < n; i++)
            {
                data[i]        = new SortableObject();
                data[i].Number = rand.Next(1, 85);

                for (int j = 0; j < 8; j++)
                {
                    data[i].Text += (char)rand.Next(65, 90);
                }
            }
        }
コード例 #3
0
        public override void Swap(int a, int b)
        {
            //Issisaugau A i data_a
            Byte[] data_a = new Byte[13];
            fs.Seek(13 * a, SeekOrigin.Begin);
            fs.Read(data_a, 0, 13);

            SortableObject result = new SortableObject();

            result.Number = BitConverter.ToInt32(data_a, 0);
            Byte[] data_string = new Byte[8];
            Array.Copy(data_a, 5, data_string, 0, 8);
            string utfString = Encoding.UTF8.GetString(data_string, 0, data_string.Length);

            result.Text = utfString;
            // Console.WriteLine(result);

            //Issisaugau B i data_b
            Byte[] data_b = new Byte[13];
            fs.Seek(13 * b, SeekOrigin.Begin);
            fs.Read(data_b, 0, 13);

            /*
             * Isvedimas
             *
             * result = new SortableObject();
             * result.Number = BitConverter.ToInt32(data_b, 0);
             * data_string = new Byte[8];
             * Array.Copy(data_b, 5, data_string, 0, 8);
             * utfString = Encoding.UTF8.GetString(data_string, 0, data_string.Length);
             * result.Text = utfString;
             * Console.WriteLine(result);
             */

            fs.Seek(13 * b, SeekOrigin.Begin);
            fs.Write(data_a, 0, data_a.Length);

            fs.Seek(13 * a, SeekOrigin.Begin);
            fs.Write(data_b, 0, data_b.Length);
        }
コード例 #4
0
        public override SortableObject this[int index]
        {
            get
            {
                Byte[] data = new Byte[13];

                fs.Seek(13 * index, SeekOrigin.Begin);
                fs.Read(data, 0, 13);

                SortableObject result = new SortableObject();

                result.Number = BitConverter.ToInt32(data, 0);

                Byte[] data_string = new Byte[8];
                Array.Copy(data, 5, data_string, 0, 8);

                string utfString = Encoding.UTF8.GetString(data_string, 0, data_string.Length);
                result.Text = utfString;

                return(result);
            }
        }
コード例 #5
0
        public void PrintFromFile(int n)
        {
            Console.WriteLine();

            for (int index = 0; index < n; index += 1)
            {
                Byte[] data = new Byte[13];

                fs.Seek(13 * index, SeekOrigin.Begin);
                fs.Read(data, 0, 13);

                SortableObject result = new SortableObject();

                result.Number = BitConverter.ToInt32(data, 0);

                Byte[] data_string = new Byte[8];
                Array.Copy(data, 5, data_string, 0, 8);

                string utfString = Encoding.UTF8.GetString(data_string, 0, data_string.Length);
                result.Text = utfString;

                Console.WriteLine(result);
            }
        }