有序链表实现优先队列


/**
 * 有序链表的优先队列
 *
 */
class Lin {
	public int data;
	public Lin next;
	public Lin(int i) {
		data=i;
	}
	public void displayLin() {
		System.out.print(data+" ");
	}
}
class LinList {
	private Lin first;
	public LinList() {
		first=null;
	}
	public void insert(int key) {
		Lin newLink=new Lin(key);
		Lin previous=null;
		Lin current=first;
		while(current!=null && newLink.data>current.data) {
			previous=current;
			current=current.next;
		}
		if(previous==null) {
			first=newLink;
		} else {
			previous.next=newLink;
		}
		newLink.next=current;
	}
	public Lin delete() {
		Lin tmp=first;
		first=first.next;
		return tmp;
	}
	public void displayLinList() {
		Lin current=first;
		while(current!=null) {
			current.displayLin();
			current=current.next;
		}
	}
}
public class Five_1 {
	public static void main(String[] args) {
		LinList ll=new LinList();
		for(int i=0;i<10;i++) {
			int k=(int)(Math.random()*100);
			ll.insert(k);
		}
		ll.displayLinList();
		System.out.println();
		ll.delete();
		ll.displayLinList();
	}
	
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优先队列常用的实现方式有多种,其中最常见的是使用堆(Heap)数据结构来实现。堆是一种完全二叉树,具有特殊的性质:对于每个节点,其优先级都大于或等于其子节点的优先级。在优先队列中,根节点是优先级最高的元素,因此可以通过维护堆的性质来实现优先队列的操作。 另外,还可以使用有序数组、有序链表或平衡二叉搜索树(如红黑树)等数据结构来实现优先队列。这些实现方式都需要在插入和删除元素时维护队列的有序性,以确保优先级较高的元素能够先出队。 总结起来,优先队列常用的实现方式包括: 1. 使用堆(Heap)数据结构实现优先队列; 2. 使用有序数组、有序链表或平衡二叉搜索树(如红黑树)等数据结构实现优先队列。 这些实现方式都有各自的优点和适用场景,具体选择哪种实现方式取决于具体的需求和问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [优先队列-C语言实现](https://blog.csdn.net/weixin_36032446/article/details/117103789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [C#实现优先队列](https://blog.csdn.net/qq_42696107/article/details/126329055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值