基于C中的键从多维数组中删除元素

时间:2012-03-22 22:35:57

标签: c

我正在尝试实施一个队列。但是我想要它,这样当我从队列中删除时,它会删除具有最高优先级的元素。这意味着,例如,如果我插入以下值:

Value      key       
1000        2 
9000        3
1000        2

它应首先删除具有最高键的元素(在本例中为3),如果有两个元素具有相同的键值,则应删除之前插入的元素。

注意:第二维只有2

del(){
    if (front == -1 || front > rear)
    {
        printf("Queue Underflow\n");
        return ;
    }
    else
    {
        printf("Element deleted from queue is : %d\n", queue_arr[front][2]);
        front=front+1;
    }
}

1 个答案:

答案 0 :(得分:0)

您要找的是最高级别priority-queue,通常使用heap data structure来实现。

队列中元素的优先级为<your key, insertion order>your key部分的优先级高于insertion order