bài này của anh đặng thế phúc viết. các bạn tham khảo và cho ý kiến nha.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bai5_DSnoidon
{
struct Tinh
{
public string Ten;
public int Dientich;
public int Danso;
}
class Node
{
public Tinh infor;
public Node next;
}
class Program
{
static Node l;
static void Nhap()
{
Console.WriteLine("Nhap vao cac thong tin tinh:");
Node p; l = null; int kt; int i = 1;
do
{
Console.WriteLine("Nhap thong tin tinh thu {0} :", i++);
p = new Node();
Console.WriteLine("Ten tinh:"); p.infor.Ten = Console.ReadLine();
Console.WriteLine("Dien tich:"); p.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Dan so:"); p.infor.Danso = int.Parse(Console.ReadLine());
p.next = null;
if (l == null) l = p;
else { p.next = l; l = p; }
Console.WriteLine("Nhap tiep an 1 ;nguoc lai an 0"); kt = int.Parse(Console.ReadLine());
} while (kt == 1);
}
static void Hien()
{
Node p = l;
Console.WriteLine("Cac tinh co trong danh sach la:");
while (p != null)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso);
p = p.next;
Console.WriteLine();
}
}
static void Xoa(int vitri)
{
Node p = l; Node tg = null; int d = 1;
while (p != null && d != vitri)
{
tg = p; p = p.next; d++;//p la nut can xoa
}
if (p == null) Console.WriteLine("THONG TIN CAN XOA KO TON TAI");
else
{
if (p == l) l = p.next;
else
{
if (p.next == null) tg.next = null;
else tg.next = p.next;
}
Console.WriteLine("DANH SACH SAU KHI XOA VI TRI {0} LA", vitri);
Hien();
}
}
static void Sua(int vitrisua)
{
Node p = l; int d = 1;
while (p != null && d != vitrisua)
{
p = p.next; d++;
}
if (p == null) Console.WriteLine("THONG TIN CAN XOA KO TON TAI");
else
{
Console.WriteLine("Sua Ten tinh:"); p.infor.Ten = Console.ReadLine();
Console.WriteLine("Sua Dien tich:"); p.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Sua Dan so:"); p.infor.Danso = int.Parse(Console.ReadLine());
Console.WriteLine("DANH SACH TINH SAU KHI SUA:");
Hien();
}
}
static void Them(int vitri)
{
Node p = l; Node them = new Node(); int d = 1; Node tg = null;
Console.WriteLine("THONG TIN TINH CAN THEM:");
Console.WriteLine("Ten tinh:"); them.infor.Ten = Console.ReadLine();
Console.WriteLine("Dien tich:"); them.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Dan so:"); them.infor.Danso = int.Parse(Console.ReadLine());
them.next = null;
while (p != null && d != vitri)
{
tg = p; p = p.next; d++;
}
if (p == null) Console.WriteLine("LOI VI TRI");
else
{
tg.next = them; them.next = p;
Console.WriteLine("DANH SACH SAU KHI THEM:");
Hien();
}
}
static void Tongdientich()
{
int t = 0; Node p = l;
while (p != null)
{
t = t + p.infor.Dientich; p = p.next;
}
Console.WriteLine("TONG DIEN TICH CAC TINH:" + t);
}
static void Dientichmax()
{
int max = int.MinValue; Node p = l; int vitri=1;
while (p != null)
{
if (p.infor.Dientich > max) max = p.infor.Dientich;
p = p.next;
}
p = l;
Console.WriteLine("TINH CO S MAX LA:");
while (p != null)
{
if (p.infor.Dientich == max)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso+"\t vi tri trong danh sach la"+vitri);
}
Console.WriteLine(); p = p.next; vitri++;
}
}
static void Dansomax()
{
int max = int.MinValue; Node p = l;
while (p != null)
{
if (p.infor.Danso > max) max = p.infor.Danso;
p = p.next;
}
p = l;
Console.WriteLine("TINH CO DAN SO MAX LA:");
while (p != null)
{
if (p.infor.Danso== max)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso );
}
Console.WriteLine(); p = p.next;
}
}
static void SapS()
{
Node p = l; Node q;
while (p != null)
{
q= p.next;
while (q != null)
{
if (q.infor.Dientich<p.infor.Dientich) { int tmp = q.infor.Dientich; q.infor.Dientich = p.infor.Dientich; p.infor.Dientich = tmp; }
q = q.next;
}
p = p.next;
}
Console.WriteLine("SAU KHI SAP XEP TANG DAN:");
Hien();
}
static void Main(string[] args)
{
Nhap();
Hien();
Xoa(2);
Sua(3);
Them(3);
Dientichmax();
Dansomax();
SapS();
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bai5_DSnoidon
{
struct Tinh
{
public string Ten;
public int Dientich;
public int Danso;
}
class Node
{
public Tinh infor;
public Node next;
}
class Program
{
static Node l;
static void Nhap()
{
Console.WriteLine("Nhap vao cac thong tin tinh:");
Node p; l = null; int kt; int i = 1;
do
{
Console.WriteLine("Nhap thong tin tinh thu {0} :", i++);
p = new Node();
Console.WriteLine("Ten tinh:"); p.infor.Ten = Console.ReadLine();
Console.WriteLine("Dien tich:"); p.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Dan so:"); p.infor.Danso = int.Parse(Console.ReadLine());
p.next = null;
if (l == null) l = p;
else { p.next = l; l = p; }
Console.WriteLine("Nhap tiep an 1 ;nguoc lai an 0"); kt = int.Parse(Console.ReadLine());
} while (kt == 1);
}
static void Hien()
{
Node p = l;
Console.WriteLine("Cac tinh co trong danh sach la:");
while (p != null)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso);
p = p.next;
Console.WriteLine();
}
}
static void Xoa(int vitri)
{
Node p = l; Node tg = null; int d = 1;
while (p != null && d != vitri)
{
tg = p; p = p.next; d++;//p la nut can xoa
}
if (p == null) Console.WriteLine("THONG TIN CAN XOA KO TON TAI");
else
{
if (p == l) l = p.next;
else
{
if (p.next == null) tg.next = null;
else tg.next = p.next;
}
Console.WriteLine("DANH SACH SAU KHI XOA VI TRI {0} LA", vitri);
Hien();
}
}
static void Sua(int vitrisua)
{
Node p = l; int d = 1;
while (p != null && d != vitrisua)
{
p = p.next; d++;
}
if (p == null) Console.WriteLine("THONG TIN CAN XOA KO TON TAI");
else
{
Console.WriteLine("Sua Ten tinh:"); p.infor.Ten = Console.ReadLine();
Console.WriteLine("Sua Dien tich:"); p.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Sua Dan so:"); p.infor.Danso = int.Parse(Console.ReadLine());
Console.WriteLine("DANH SACH TINH SAU KHI SUA:");
Hien();
}
}
static void Them(int vitri)
{
Node p = l; Node them = new Node(); int d = 1; Node tg = null;
Console.WriteLine("THONG TIN TINH CAN THEM:");
Console.WriteLine("Ten tinh:"); them.infor.Ten = Console.ReadLine();
Console.WriteLine("Dien tich:"); them.infor.Dientich = int.Parse(Console.ReadLine());
Console.WriteLine("Dan so:"); them.infor.Danso = int.Parse(Console.ReadLine());
them.next = null;
while (p != null && d != vitri)
{
tg = p; p = p.next; d++;
}
if (p == null) Console.WriteLine("LOI VI TRI");
else
{
tg.next = them; them.next = p;
Console.WriteLine("DANH SACH SAU KHI THEM:");
Hien();
}
}
static void Tongdientich()
{
int t = 0; Node p = l;
while (p != null)
{
t = t + p.infor.Dientich; p = p.next;
}
Console.WriteLine("TONG DIEN TICH CAC TINH:" + t);
}
static void Dientichmax()
{
int max = int.MinValue; Node p = l; int vitri=1;
while (p != null)
{
if (p.infor.Dientich > max) max = p.infor.Dientich;
p = p.next;
}
p = l;
Console.WriteLine("TINH CO S MAX LA:");
while (p != null)
{
if (p.infor.Dientich == max)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso+"\t vi tri trong danh sach la"+vitri);
}
Console.WriteLine(); p = p.next; vitri++;
}
}
static void Dansomax()
{
int max = int.MinValue; Node p = l;
while (p != null)
{
if (p.infor.Danso > max) max = p.infor.Danso;
p = p.next;
}
p = l;
Console.WriteLine("TINH CO DAN SO MAX LA:");
while (p != null)
{
if (p.infor.Danso== max)
{
Console.Write("Tinh :" + p.infor.Ten + "\t Dien tich:" + p.infor.Dientich + "\t Dan so:" + p.infor.Danso );
}
Console.WriteLine(); p = p.next;
}
}
static void SapS()
{
Node p = l; Node q;
while (p != null)
{
q= p.next;
while (q != null)
{
if (q.infor.Dientich<p.infor.Dientich) { int tmp = q.infor.Dientich; q.infor.Dientich = p.infor.Dientich; p.infor.Dientich = tmp; }
q = q.next;
}
p = p.next;
}
Console.WriteLine("SAU KHI SAP XEP TANG DAN:");
Hien();
}
static void Main(string[] args)
{
Nhap();
Hien();
Xoa(2);
Sua(3);
Them(3);
Dientichmax();
Dansomax();
SapS();
Console.ReadKey();
}
}
}