Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74

однонаправленый список пояснить

28.01.2013, 18:34. Показов 485. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поясните выполненные действия комментариями пожалуйста)
C#
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
public Form1()
        {
            InitializeComponent();
        }
        List a = new List();
 
        private void button1_Click(object sender, EventArgs e)
        {
            string s = textBox1.Text;
            int kol=0;
            for (int i = 0; i < s.Length; i++)
                if (s[i] == ' ') kol++;
            kol++;
            int[] g = new int[kol];
            string[] str = new string[kol];
 
            str = textBox1.Text.Split(' ');
 
            for (int i = 0; i <kol; i++)
            {
                g[i] = Convert.ToInt32(str[i]);
            }
 
            a = new List(g);
            textBox3.Text = a.PrintList();
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "удалить")
            {
                if (a.DeLNode(Convert.ToInt32(textBox2.Text)) == true)
                    textBox3.Text = a.PrintList();
                else textBox3.Text = "такой элемент не найден";
            }
            if (comboBox1.Text == "найти")
            {
                if (a.Find(Convert.ToInt32(textBox2.Text)) == null) textBox3.Text = "такой элемент не найден";
                else { textBox3.Text = a.Find(Convert.ToInt32(textBox2.Text)).Print(); }
            }
 
            if (comboBox1.Text == "найти предыдущий")
            {
                if (a.Findprev(Convert.ToInt32(textBox2.Text)) == null) textBox3.Text = "такой элемент не найден";
                else { textBox3.Text = a.Findprev(Convert.ToInt32(textBox2.Text)).Print(); }
            }
 
            if (comboBox1.Text == "добавить в конец")
            {
                a.Add(Convert.ToInt32(textBox2.Text));
                textBox3.Text = a.PrintList(); 
            }
 
            if (comboBox1.Text == "добавить после")
            {
                if (a.AddX(Convert.ToInt32(textBox2.Text), Convert.ToInt32(textBox4.Text)) == null) textBox3.Text = "такой элемент не найден";
 
                else textBox3.Text = a.PrintList();
            }
C#
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
class Node
    {
        int key;
        Node Next;
 
        public Node()
           {
                key = 0;
                Next = null;
            }
 
        public Node(int key)
        {
            this.key = key;
            Next = null;
        }
 
        public Node(int key, Node Next)
        {
            this.key = key;
            this.Next = Next;
        }
 
        public void AddNext(Node N)
        {
            Next=N;
        }
 
        public string Print()
       {
            String S="";
            S=Convert.ToString(key)+" ";
            return S;
        }
 
        public Node GetNext()
        {
            return Next;
        }
 
        public int GetKey()
        {
            return key;
        }
 
 
    }
 
    class List
    {
        Node first;
 
        public List()
        {
            first = null;
        }
 
        public List(int[] a)
        {
            first = new Node(a[0], null);
            Node T, N;
            T = first;
            for (int i = 1; i < a.Length; i++)
            {
                N = new Node(a[i], null);
                T.AddNext(N);
                T = N;
            }
        }
 
        public string PrintList()
        {
            string S = "";
            Node N;
            N = first;
            while (N != null)
            { S = S + N.Print(); N = N.GetNext(); }
 
            return S;
 
        }
 
        public Node Find(int key)
        {
            Node N;
            N = first;
            while ((N != null) && (N.GetKey() != key))
                N = N.GetNext();
            return N;
        }
 
        public Node Findprev(int key)
        {
            Node N;
            Node T = null;
            N = first;
            Node r = Find(key);
            if (r == null) T = null;
            else
            {
                while ((N != null) && (N.GetKey() != key))
                {
                    T = N;
                    N = N.GetNext();
                }
            }
            return T;
        }
 
        public bool DeLNode(int key)
        {
            Node El, Pr;
            El = Find(key);
            if (El == null) return false;
            else
            {
                Pr = Findprev(key);
                if (Pr == null) { first = first.GetNext() ; return true; }
                else
                {
                       
                     Pr.AddNext(El.GetNext());
                    return true;
                }
            }
        }
 
        public Node Add(int key)
        {Node End, N=new Node(key,null);
        End=first;
        while (End.GetNext() != null)
        End = End.GetNext();
        End.AddNext(N);
        return End;
        }
 
        public Node AddX(int key, int x)
        {Node D, N=new Node(key,null);
        D=Find(x);
        if (D == null) return D;
        else
        {
            N.AddNext(D.GetNext());
            D.AddNext(N);
            return D;
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2013, 18:34
Ответы с готовыми решениями:

Создать однонаправленый список изъять из списка студентов со средним балом ниже 3.5
Группа студентов(3 человека) .Анкетные данные ФИО и оценки(4) . Создать однонаправленый список изъять из списка студентов со средним балом...

Перегрузить указанные операторы для пользовательского типа "Однонаправленый список"
Помогите, ваще не понимаю в классах и перегрузке, нужна помощь, завтра сдавать лабу Атд-однонаправленый список с элементами типа char....

Пояснить суть структуры список
дошел до понимания необходимости знания про структуру список, хто знает как работает структура Pascal список?type point= ^list; ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2013, 18:34
Помогаю со студенческими работами здесь

Пояснить код
Здравствуйте, поясните код пожалуйста, я тут разбирался не много, но до конца не могу разобраться procedure...

Пояснить решение
Почему в решении Сила, действующая на плотину, складывается именно из средней силы гидростатического давления?

Пояснить об адресации
Я вот буквально на днях начал изучать ассемблер,дали вот такое задание Ввести смещение исполнительного адреса первого числа с помощью...

Пояснить с ret 12
Помогите разобраться, почему в функции ret число 12. Как я понял, ret очищает регистр, но я не могу понять, какие регистры в данной...

Пояснить цикл for
допустим как мне сделать что-то типа того i - целочисленная переменная ex - тип boolean for i:=0 to ex=true do begin if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru