コード例 #1
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public Bus Delete(int number)
        {
            NodeBusList current = Head;
            NodeBusList prev    = null;

            while (current != null)
            {
                if (current.Info.Number == number)
                {
                    if (current == Head)
                    {
                        Head = Head.Next;
                        return(current.Info);
                    }
                    if (current == Tail)
                    {
                        Tail = prev;
                        return(current.Info);
                    }
                    prev.Next = current.Next;
                    return(current.Info);
                }
                prev    = current;
                current = current.Next;
            }
            return(null);
        }
コード例 #2
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public void Print()
        {
            NodeBusList current = Head;

            while (current != null)
            {
                Console.WriteLine(current.Info);
                current = current.Next;
            }
        }
コード例 #3
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public Bus Find(int number)
        {
            NodeBusList current = Head;

            while (current != null)
            {
                if (current.Info.Number == number)
                {
                    return(current.Info);
                }
                current = current.Next;
            }
            return(null);
        }
コード例 #4
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
 public void AddAfterTail(ref LinkedBusList buses)
 {
     if (Head == null)
     {
         Head = buses.Head; Tail = buses.Tail;
     }
     else
     {
         Head.Next = buses.Tail;
         Head      = buses.Head;
     }
     buses.Head = null;
     buses.Tail = null;
 }
コード例 #5
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public void AddAfterTail(Bus bus)
        {
            NodeBusList node = new NodeBusList(bus);

            if (Head == null)
            {
                Head = node; Tail = Head;
            }
            else
            {
                Tail.Next = node;
                Tail      = node;
            }
        }
コード例 #6
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public void AddFirst(Bus bus)
        {
            NodeBusList node = new NodeBusList(bus);

            if (Head == null)
            {
                Head = node; Tail = Head;
            }
            else
            {
                node.Next = Head;
                Head      = node;
            }
        }
コード例 #7
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public void Insert(int number, Bus bus)
        {
            NodeBusList node    = new NodeBusList(bus);
            NodeBusList current = Head;

            while (current != null)
            {
                if (current.Info.Number == number)
                {
                    node.Next    = current.Next;
                    current.Next = node;
                }
                current = current.Next;
            }
        }
コード例 #8
0
ファイル: LinkedBusList.cs プロジェクト: Savorigin/Project-C
        public void AddLast(Bus bus)
        {
            NodeBusList node = new NodeBusList(bus);

            if (Head == null)
            {
                Head = node; Tail = Head;
            }
            else
            {
                NodeBusList current = Head;
                while (current.Next != null)
                {
                    current = current.Next;
                }
                current.Next = node;
            }
        }