// แยก Circular Linked List OK แล้ว v 1.o
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class recnode
{
public double Data; // ก สัมพันธ์กับที่ ข
public recnode Link;
}
public class LinkedList
{
public recnode First;
public recnode Last;
public recnode ref1;
public recnode ref2;
public void AddToList(double x) // ข ระวังใช้ parameter เป็น double เพราะว่า field เก็บข้อมูลเป็น double ดูที่ ก
{
recnode node = new recnode();
node.Data = x;
node.Link = null;
if (First == null)
{
node.Link = node;
}
else
{
node.Link = First.Link;
First.Link = node;
}
First = node; //First ขยับไปอยู่ที่ตัวล่าสุดตลอด
}
public void DisplayAll()
{
recnode temp = First;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != First);
}
public void Displaysprit1()
{
recnode temp = ref2;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != ref2);
}
public void Displaysprit2()
{
recnode temp = ref1;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != ref1);
}
public void spritNode() // แสดงเฉพาะ node ที่ต้องการคือ x ที่ส่งมา
{
{
ref1 = First;
ref2 = ref1.Link;
recnode temp = ref2.Link;
temp = ref2.Link;
ref2.Link = ref1.Link;
ref1.Link = temp;
return;
}
}
}
class Program
{
static void Main(string[] args)
{
LinkedList slink = new LinkedList();
slink.AddToList(12);
slink.AddToList(25);
slink.AddToList(31);
slink.AddToList(47);
slink.AddToList(56);
slink.AddToList(63);
slink.AddToList(72);
slink.DisplayAll();
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit Circular1 !!!!!!!!!!!!!!!!!!!!!\n\n");
slink.spritNode();
slink.Displaysprit1();
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit Circular2 !!!!!!!!!!!!!!!!!!!!!\n\n");
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit2 Node !!!!!!!!!!!!!!!!!!!!!\n\n");
slink.Displaysprit2();
Console.ReadLine();
}
}
รบกวนช่วยคอมเม้นอธิบายโค้ดไว้ข้างหลังให้หน่อยครับ จะส่งแล้วววTT
เป็นคนไม่รู้เรื่องโค้ดเลยจะง่ายหรือยากก็ไม่เข้าใจอ่าาาครับ
ช่วยอธิบายโค้ดหน่อยครับไม่ต้องทุกบรรทัดก็ได้เอาสำคัญๆ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class recnode
{
public double Data; // ก สัมพันธ์กับที่ ข
public recnode Link;
}
public class LinkedList
{
public recnode First;
public recnode Last;
public recnode ref1;
public recnode ref2;
public void AddToList(double x) // ข ระวังใช้ parameter เป็น double เพราะว่า field เก็บข้อมูลเป็น double ดูที่ ก
{
recnode node = new recnode();
node.Data = x;
node.Link = null;
if (First == null)
{
node.Link = node;
}
else
{
node.Link = First.Link;
First.Link = node;
}
First = node; //First ขยับไปอยู่ที่ตัวล่าสุดตลอด
}
public void DisplayAll()
{
recnode temp = First;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != First);
}
public void Displaysprit1()
{
recnode temp = ref2;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != ref2);
}
public void Displaysprit2()
{
recnode temp = ref1;
do
{
Console.WriteLine(temp.Data); //เป็นการนำข้อมูลไปแสดงผลทางจอภาพ
temp = temp.Link;
}
while (temp != ref1);
}
public void spritNode() // แสดงเฉพาะ node ที่ต้องการคือ x ที่ส่งมา
{
{
ref1 = First;
ref2 = ref1.Link;
recnode temp = ref2.Link;
temp = ref2.Link;
ref2.Link = ref1.Link;
ref1.Link = temp;
return;
}
}
}
class Program
{
static void Main(string[] args)
{
LinkedList slink = new LinkedList();
slink.AddToList(12);
slink.AddToList(25);
slink.AddToList(31);
slink.AddToList(47);
slink.AddToList(56);
slink.AddToList(63);
slink.AddToList(72);
slink.DisplayAll();
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit Circular1 !!!!!!!!!!!!!!!!!!!!!\n\n");
slink.spritNode();
slink.Displaysprit1();
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit Circular2 !!!!!!!!!!!!!!!!!!!!!\n\n");
Console.WriteLine("\n\n !!!!!!!!!!!!! sprit2 Node !!!!!!!!!!!!!!!!!!!!!\n\n");
slink.Displaysprit2();
Console.ReadLine();
}
}
รบกวนช่วยคอมเม้นอธิบายโค้ดไว้ข้างหลังให้หน่อยครับ จะส่งแล้วววTT
เป็นคนไม่รู้เรื่องโค้ดเลยจะง่ายหรือยากก็ไม่เข้าใจอ่าาาครับ