题解 | #明明的随机数#

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

#include <cstddef>
#include <memory>
#include <iostream>
using namespace std;

class linkedItem {
  private:
    int data;
    linkedItem* Next;
  public:
    linkedItem(int data) {
        this->data = data;
        this->Next = nullptr;
    };
    linkedItem* getNextPtr() {
        return this->Next;
    };
    void setNextPtr(linkedItem* ptr){
        this->Next=ptr;
    };
    int getData(){
        return this->data;
    }
};

class linkedList {
  private:
    linkedItem* head;
    linkedItem* cursor;
  public:
    linkedList(int length) {
        this->head = new linkedItem(length);
        this->cursor = this->head;
    };
    bool addItem(int data,linkedItem* ptr) {
        if(ptr==nullptr){
            return false;
        }
        
        linkedItem* temp = new linkedItem(data);
        if(ptr->getNextPtr()==nullptr){
            temp->setNextPtr(nullptr);
            ptr->setNextPtr(temp);
            return true;
        }
        temp->setNextPtr(ptr->getNextPtr());
        ptr->setNextPtr(temp);
        return true;
    };
    linkedItem* getIndex(const int & data){
        this->cursor=this->head;
        while(this->cursor->getNextPtr()!=nullptr&&this->cursor->getNextPtr()->getData()<data){
            this->cursor=this->cursor->getNextPtr();
        }
        if(this->cursor->getNextPtr()!=nullptr&&this->cursor->getNextPtr()->getData()==data){
            return nullptr;
        }
        return this->cursor;
    };
    void loop(){
        this->cursor=this->head->getNextPtr();
        while(this->cursor!=nullptr){
            cout<<this->cursor->getData()<<endl;
            this->cursor=this->cursor->getNextPtr();
        }
    }
};

int main() {
    int loop,data;
    cin>>loop;
    linkedList list(loop);
    for(int i=0;i<loop;i++){
        cin>>data;
        if(list.addItem(data,list.getIndex(data))){
            //recording the amount of loop
        }
    }
    list.loop();
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

云边有个小卖铺儿:校招生违约率低,所以我要高😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务