当前位置: 首页>>代码示例>>C++>>正文


C++ DataType::getPriority方法代码示例

本文整理汇总了C++中DataType::getPriority方法的典型用法代码示例。如果您正苦于以下问题:C++ DataType::getPriority方法的具体用法?C++ DataType::getPriority怎么用?C++ DataType::getPriority使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DataType的用法示例。


在下文中一共展示了DataType::getPriority方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: logic_error

void Heap<DataType,KeyType,Comparator>:: insert ( const DataType &newDataItem ) throw ( logic_error )

// Inserts newDataItem into a heap. This data item is initially
// inserted as the bottom rightmost data item in the heap. It is then
// moved upward until a valid heap is produced.

{
    int parentj,   // Array indices that move together up the heap
        j;

    // Requires that heap is not full
    if ( size >= maxSize )
        throw logic_error ("heap is full");

	// YOUR CODE GOES HERE
    // Hint: you may want to use the 2 variables declared above (but you don't have to)
	// Hint: call getPriority() to get the priority of a data item (e.g. newDataItem.getPriority())
    else if (size==0){
        dataItems[size]=newDataItem;
        size++;
    }

    else if (size<maxSize && size>0){
        DataType parent;
        DataType temp;
        int x = size;
        dataItems[x]=newDataItem;
        DataType data=dataItems[x];
        parent = dataItems[(x-1)/2];

        while(data.getPriority() > parent.getPriority()){

                temp=dataItems[x];
                dataItems[x]=parent;
                parent = temp;
                dataItems[(x-1)/2]=parent;
                x=(x-1)/2;
                if(x<0){
                    break; }
                else{
                parent = dataItems[(x-1)/2];
                }
            }
            size++;
        }

    }
开发者ID:knxlanetc,项目名称:Lab11,代码行数:47,代码来源:Heap.cpp


注:本文中的DataType::getPriority方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。