如何在原链表上进行排序

如何在原链表上进行排序?
(链表中已经实现插入和删除操作)
1、使用双重循环实现冒泡排序,外层循环次数为元素个数,内层循环由0号位到结束,并且在每次外层循环结束后内层循环起始点加1。
2、内层循环比较取出当前所剩元素中的最小值,然后或获取最小值所在链表中的位置索引。
3、在外层循环中,通过内层循环得出的最小值索引取得该位置的节点,把该节点插入到链表的指定位置(开始为0,在每次外层循环后递增一,实现从小到大排序)。
4、插入完成后,把最小值索引值加一(因为前面插入新节点,长度增一),然后删除该节点。
5、依次循环,直到结束。


变量说明:
int a:内层循环获得的最小值所在位置的索引
int c=0:当前获取的最小节点的插入位置索引
i:外层循环计数
int b=0 :内层循环的起始点

 for(int i =1;i <= this.getLength();i++){
   获取a处的节点;
   获取的节点在c处插入;
   删除a+1处节点;
   b++;
   c++;
       for(int j=b;i<=this.getLength()-1;i++){
   获得最小值处的位置a;
  }  
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值