如何解决do..while循环在气泡排序中进行链表的排序
我正在尝试理解此代码,但是我不理解与此MyObject a = new MyObject("abc","abide");
MyObject b = new MyObject("cab","whatever you want");
ArrayList<MyObject> list = new ArrayList<>();
list.add(a);
list.add(b);
trier(list);
相关的do..while
循环。终止while循环的条件是什么?
while(swapped)
解决方法
在迭代中没有交换任何元素时,循环将停止。正如您在循环开始时所看到的,swapped
设置为0。无法交换元素时,程序进入条件if (ptr1->data > ptr1->next->data)
,在这种情况下,swapped
设置为1(是true
的C版本。只要swapped
为1,循环就会继续。
您要基于该代码以升序对链接列表进行排序。
您从头开始浏览列表,如果当前节点的值大于下一个节点的值,则交换它们。
您要执行此操作,直到执行交换,这就是while (swapped)
的意思。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。