这是我为单链表中的节点交换编写的函数。 还有其他功能append,delete,length等。 现在,当执行nodeswap时,左节点丢失。 例如..... 链接列表是 1-> 2-> 3 交换后变成 1-> 3
a.btn.text-link {
-webkit-appearance: none;
background-color: #2c2d36;
background-image: none;
border: 1px solid transparent;
border-bottom: 1px solid #2c2d36;
border-radius: 0;
box-sizing: border-box;
color: #fff;
cursor: pointer;
display: inline-block;
font-family: Futura,sans-serif;
font-size: .8125em;
font-weight: 700;
letter-spacing: .1em;
line-height: 1.42;
margin: 0;
padding: 8px 10px;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: background-color .4s ease-out;
user-select: none;
vertical-align: middle;
white-space: normal;
width: auto;
}
答案 0 :(得分:0)
问题在这一行q=r->link;
您需要将其更改为q->link = r->link
例如,如果您的链表中有以下四个节点,并带有相应的指针
A->B->C->D
p q r
执行q=r->link;
时,这只是将设置更改为
A->B->C->D
p r q
很明显,这不是您想要的,您想要将q的下一个节点设置为D,并实现q->link = r->link