Вставить узел в односвязный список на быстрой площадке - PullRequest
0 голосов
/ 27 января 2019

Учитывая односвязный список, задача состоит в том, чтобы написать программу для вставки этого элемента в связанный список в Swift.

1 Ответ

0 голосов
/ 27 января 2019
import UIKit

class Node<T: Equatable>{
    var value:T?
    var nextNode:Node?
}

class LinkedList<T: Equatable>{
    var headNode = Node<T>()

    func insert(value: T){

        if headNode.value == nil{
            headNode.value = value
        }else{
            var lastNode = headNode
            while lastNode.nextNode != nil {
                lastNode = lastNode.nextNode!
            }
            let newNode: Node = Node<T>()
            newNode.value = value
            lastNode.nextNode = newNode
        }
    }

   func printAllKeys() {
        var currentNode: Node! = headNode
        print("---------------")
        while currentNode != nil && currentNode.value != nil {
            print("The item is \(currentNode.value!)")
            currentNode = currentNode.nextNode
        }
    }
}

var list = LinkedList<Int>()
list.insert(value: 5)
list.insert(value: 10)
list.printAllKeys()
...