我正在为一个使用2.6.24.3内核的嵌入式Linux项目开发一个用户空间应用程序。我的应用程序通过创建2个pthread在两个文件节点之间传递数据,每个pthread都处于休眠状态,直到异步IO操作完成,此时它将唤醒并运行完成处理程序。
完成处理程序需要跟踪有多少传输挂起,并维护一些链表,一个线程将添加到这些链表中,而另一个线程将删除这些链表。
// sleep here until events arrive or time out expires
for(;;) {
no_of_events = io_getevents(ctx, 1, num_events, events, &
因此,我应该按字母顺序对Java中的链表进行排序(节点是字符串)。我不允许使用集合,因此我必须构建自己的链表和排序算法。我已经创建了一个方法,可以在链表中找到最大(或字母表下最远)的单词。现在,我尝试通过获取一个链表进行排序,找到最大的元素并将其插入到新的链表中。然后,它删除最大的,并继续执行相同的操作,直到链表为空。当我运行它时,我得到了一个空白列表,我的代码出了什么问题?
返回最大元素的代码
public Link isLargest(){
Link large = first;
Link temp = null;
Link current = first;
我写了一些链表的代码:链表的定义:
struct Node {
// data is used to store an integer value in this node
int data;
// a pointer points to the next node
Node* link;
// inializes the node with a 0 value in data and a null pointer in link
Node() : data(0), link(NULL) {};
// destructor release