3
This commit is contained in:
parent
30ee797f0a
commit
cef2f934ef
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,6 +2,8 @@
|
|||||||
using static LinkedList;
|
using static LinkedList;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace KursiveWork;
|
namespace KursiveWork;
|
||||||
// Класс-визуализатор состояния списка
|
// Класс-визуализатор состояния списка
|
||||||
@ -16,7 +18,7 @@ public class LinkedListVisualizer
|
|||||||
{
|
{
|
||||||
// Определение размера изображения
|
// Определение размера изображения
|
||||||
int width = NodeWidth * 10 + NodeSpacing * 9;
|
int width = NodeWidth * 10 + NodeSpacing * 9;
|
||||||
int height = NodeHeight + 20;
|
int height = NodeHeight + 200;
|
||||||
Bitmap bitmap = new Bitmap(width, height);
|
Bitmap bitmap = new Bitmap(width, height);
|
||||||
using (Graphics g = Graphics.FromImage(bitmap))
|
using (Graphics g = Graphics.FromImage(bitmap))
|
||||||
{
|
{
|
||||||
@ -40,6 +42,12 @@ public class LinkedListVisualizer
|
|||||||
g.FillEllipse(Brushes.LightBlue, x, 10, NodeWidth, NodeHeight);
|
g.FillEllipse(Brushes.LightBlue, x, 10, NodeWidth, NodeHeight);
|
||||||
g.DrawString(current.Data.ToString(), new Font("Arial", 12), Brushes.Black, new Point(x + NodeWidth / 2 - 5, 15));
|
g.DrawString(current.Data.ToString(), new Font("Arial", 12), Brushes.Black, new Point(x + NodeWidth / 2 - 5, 15));
|
||||||
|
|
||||||
|
|
||||||
|
VisualizeAdd(x);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Рисование стрелки
|
// Рисование стрелки
|
||||||
if (current.Next != null)
|
if (current.Next != null)
|
||||||
{
|
{
|
||||||
@ -65,15 +73,20 @@ public class LinkedListVisualizer
|
|||||||
}
|
}
|
||||||
if (current == null)
|
if (current == null)
|
||||||
{
|
{
|
||||||
//g.DrawLine(Pens.Black, x + NodeWidth - 50, 25, x + NodeWidth + NodeSpacing - 50, 25);
|
|
||||||
//g.DrawPolygon(Pens.Black, new Point[] {
|
|
||||||
// new Point(x + NodeWidth + NodeSpacing - 50, 25),
|
|
||||||
// new Point(x + NodeWidth + NodeSpacing - 55, 20),
|
|
||||||
// new Point(x + NodeWidth + NodeSpacing - 55, 30)
|
|
||||||
// });
|
|
||||||
g.DrawString("NULL", new Font("Arial", 12), Brushes.Black, new Point(x + NodeWidth / 2 - 15, 15));
|
g.DrawString("NULL", new Font("Arial", 12), Brushes.Black, new Point(x + NodeWidth / 2 - 15, 15));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
public void VisualizeAdd(int Number)
|
||||||
|
{
|
||||||
|
int width = NodeWidth * 10 + NodeSpacing * 9;
|
||||||
|
int height = NodeHeight + 200;
|
||||||
|
Bitmap bitmap = new Bitmap(width, height);
|
||||||
|
using (Graphics g = Graphics.FromImage(bitmap))
|
||||||
|
{
|
||||||
|
g.FillEllipse(Brushes.LightBlue, 50, 50, 40, 30);
|
||||||
|
g.DrawString(Number.ToString(), new Font("Arial", 12), Brushes.Black, new Point(50, 55));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,6 @@ namespace KursiveWork
|
|||||||
private LinkedList list;
|
private LinkedList list;
|
||||||
private LinkedListVisualizer visualizer;
|
private LinkedListVisualizer visualizer;
|
||||||
private LinkedListManager manager;
|
private LinkedListManager manager;
|
||||||
|
|
||||||
private LinkedListParameters parameters;
|
private LinkedListParameters parameters;
|
||||||
|
|
||||||
|
|
||||||
@ -28,6 +27,7 @@ namespace KursiveWork
|
|||||||
list = new LinkedList();
|
list = new LinkedList();
|
||||||
visualizer = new LinkedListVisualizer();
|
visualizer = new LinkedListVisualizer();
|
||||||
|
|
||||||
|
|
||||||
//MessageBox.Show("Настоятельно рекомендуется ознакомиться с информацией с помощью меню сверху");
|
//MessageBox.Show("Настоятельно рекомендуется ознакомиться с информацией с помощью меню сверху");
|
||||||
manager = new LinkedListManager(parameters);
|
manager = new LinkedListManager(parameters);
|
||||||
Controls.Add(pictureBox);
|
Controls.Add(pictureBox);
|
||||||
@ -51,8 +51,8 @@ namespace KursiveWork
|
|||||||
list.InsertAtBeginning(Number);
|
list.InsertAtBeginning(Number);
|
||||||
|
|
||||||
manager.storage.AddState(list.CreateState());
|
manager.storage.AddState(list.CreateState());
|
||||||
pictureBox.Image = visualizer.Visualize(list.CreateState());
|
|
||||||
|
|
||||||
|
pictureBox.Image = visualizer.Visualize(list.CreateState());
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
|
|||||||
build_property.EnforceExtendedAnalyzerRules =
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
build_property.RootNamespace = KursiveWork
|
build_property.RootNamespace = KursiveWork
|
||||||
build_property.ProjectDir = C:\Users\ivans\Source\Repos\KurseWork\KursiveWork\KursiveWork\
|
build_property.ProjectDir = C:\Users\ivans\source\repos\KurseWork\KursiveWork\KursiveWork\
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
|||||||
d6f8afed7b6068eca92bf941c29c08f3033fcca7
|
68c4ed4caff373776f07cd3dc9d81d8dee7411ca
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
|
|||||||
build_property.EnforceExtendedAnalyzerRules =
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
build_property.RootNamespace = KursiveWork
|
build_property.RootNamespace = KursiveWork
|
||||||
build_property.ProjectDir = C:\Users\ivans\Source\Repos\KurseWork\KursiveWork\KursiveWork\
|
build_property.ProjectDir = C:\Users\ivans\source\repos\KurseWork\KursiveWork\KursiveWork\
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user