Swift 链表 的制作 使用

来源:互联网 发布:万能搜索软件下载 编辑:程序博客网 时间:2024/06/05 12:05
class ListNode{    var value : Int!    var next  : ListNode?    init(value:Int, next:ListNode?){    self.value = value    self.next = next    }}var head:ListNode?func createList(){    if head == nil{        head = ListNode(value: 0, next: nil)    }}func addNode(node:ListNode)->Bool{    if head == nil{        return false    }else{        var p  = head?.next        var q:ListNode! = head        while (p != nil) {            q = p            p = p!.next        }        q.next = node        print(head?.next)        print(q.next)        return true    }}func deleteNode(index:Int)->Bool{    if head == nil || index > getCount() {        return false    }else{        var p  = head?.next        var q:ListNode!        for var i=0;i<index;i++        {            q = p            p = p!.next        }        q.next = p        return true;    }}func outPut()->Void{    var p  = head?.next    while (p != nil) {        print(p!.value)        p = p! .next    }}func getCount()->Int{    var length = 0    var p  = head?.next    while (p != nil) {        length++        p = p! .next    }    return length}

使用

 var arr = [46,23,45,2,78,32,46,24,11,99,66,88,199,100,156,27,175]        createList()        for var i = 0 ; i < arr.count ; i++        {            addNode(ListNode(value:arr[i],next: nil))        }        outPut()        deleteNode(4)        deleteNode(1)        outPut()
2 0
原创粉丝点击