亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bk_list.cpp

?? 本代碼是《C/C++程序員實用大全》的配套代碼。網絡轉載
?? CPP
字號:
#include <iostream.h>
#include <string.h>
#include <stdlib.h>

class Book {
  public:
    Book(char *title, char *author, char *publisher, float price); // Constructor
    Book() {};
    void show_title(void);
    float get_price(void);
    void show(void);
    void assign_publisher(char *name);
    bool operator==(Book op2);
  private:
    char title[256];
    char author[64];
    float price;
    char publisher[256];
    void show_publisher(void);
};

Book::Book(char *title, char *author, char *publisher, float price)
 {
   strcpy(Book::title, title);
   strcpy(Book::author, author);
   strcpy(Book::publisher, publisher);
   Book::price = price;
 }

void Book::show_title(void)
  { cout << "Title: " << title << endl; };

float Book::get_price(void)
  { return(price); };

void Book::show(void)
  { show_title(); show_publisher(); };

void Book::assign_publisher(char *name)
  { strcpy(publisher, name); };

void Book::show_publisher(void)
  { cout << "Publisher: " << publisher << endl; };

bool Book::operator==(Book op2)
 {
   if(title!=op2.title)
      return false;
   if(author!=op2.author)
      return false;
   if(publisher!=op2.publisher)
      return false;
   if(price!=op2.price)
      return false;
   return true;
 }

template <class DataT> class list_object {
 public:
   DataT info;
   list_object<DataT> *next;
   list_object<DataT> *previous;
   list_object() {
      next = NULL;
      previous = NULL;
    }
   list_object(DataT c) {
      info = c;
      next = NULL;
      previous = NULL;
    }
   list_object<DataT> *getnext() {return next;}
   list_object<DataT> *getprevious() {return previous;}
   void getinfo(DataT &c) { c = info;}
   void change(DataT c) {info = c;}
   friend ostream &operator<<(ostream &stream, list_object<DataT> o)
    {
      stream << o.info << endl;
      return stream;
    }
   friend ostream &operator<<(ostream &stream, list_object<DataT> *o)
    {
      stream << o->info << endl;
      return stream;
    }
/*   friend istream &operator>>(istream &stream, list_object<DataT> &o)
    {
      cout << "Enter information: " << endl;
      stream >> o.info;
      return stream;
    } */
 };

template <class DataT> class linked_list : public list_object<DataT> {
   list_object<DataT> *start, *end;
 public:
   linked_list() {start = end = NULL;}
   void store(DataT c);
//   void store(list_object<DataT> ob);
   void remove(list_object<DataT> *ob);
   void frwdlist();
   void bkwdlist();
   list_object<DataT> *find(list_object<DataT> ob);
   list_object<DataT> *getstart() {return start;}
   list_object<DataT> *getend() {return end;}
 };

template <class DataT> void linked_list<DataT>::store(DataT c)
 {
   list_object<DataT> *p;

   p = new list_object<DataT>;
   if(!p) {
      cout << "Allocation error." << endl;
      exit(1);
    }
   p->info = c;
   if(start==NULL)
    {
      end = start = p;
    }
   else
    {
      p->previous = end;
      end->next = p;
      end = p;
    }
 }

/* template <class DataT> void linked_list<DataT>::store(list_object<DataT> ob)
 {
   list_object<DataT> *p;

   p = new list_object<DataT>;
   if(!p) {
      cout << "Allocation error." << endl;
      exit(1);
    }
   p->info = ob.info;
   if(start==NULL)
    {
      end = start = p;
    }
   else
    {
      p->previous = end;
      end->next = p;
      end = p;
    }
 } */


template <class DataT> void linked_list<DataT>::remove(list_object<DataT> *ob)
 {
   if(ob->previous)
    {
      ob->previous->next = ob->next;
      if(ob->next)
         ob->next->previous = ob->previous;
      else
         end = ob->previous;
    }
   else
    {
      if(ob->next)
       {
         ob->next->previous = NULL;
         start = ob->next;
       }
      else
         start = end = NULL;
    }
 }

template <class DataT> void linked_list<DataT>::frwdlist()
 {
   list_object<DataT> *temp;

   temp = start;
   do {
      cout << temp->info << " ";
      temp = temp->getnext();
    } while(temp);
   cout << endl;
 }

template <class DataT> void linked_list<DataT>::bkwdlist()
 {
   list_object<DataT> *temp;

   temp = end;
   do {
      cout << temp->info << " ";
      temp = temp->getprevious();
   } while(temp);
   cout << endl;
 }

template <class DataT> list_object<DataT> *linked_list<DataT>::find(list_object<DataT> ob)
 {
   list_object<DataT> *temp;

   temp = start;
   while(temp) {
      if(ob.info==temp->info) return temp;
      temp = temp ->getnext();
    }
   return NULL;
 }


void main(void)
 {
   linked_list<Book> list;
   Book cbib("Jamsa's C/C++ Programmer's Bible", "Jamsa and Klander", "Jamsa Press", 49.95);
   Book vbtips("1001 Visual Basic Programmer's Tips", "Jamsa and Klander", "Jamsa Press", 54.95);
   Book hacker("Hacker Proof", "Klander", "Jamsa Press", 54.95);
   Book c;
   list_object<Book> *p;

   list.store(cbib);
   list.store(vbtips);
   list.store(hacker);

   cout << "here are some items." << endl;
//   list.bkwdlist();
//   list.frwdlist();
   cout << endl;
   cout << "'Manually' walk through the list." << endl;
   p = list.getstart();
   while(p) {
      p->getinfo(c);
      c.show();
      p = p->getnext();
    }
   cout << endl << endl;
   cout << "Looking for item 2.2." << endl;
   p = list.find(2.2);
   if(p)
    {
      p->getinfo(c);
      cout << "Found: " << c << endl;
    }
   cout << endl;
   p->getinfo(c);
   cout << "Removing item: " << c << endl;
   list.remove(p);
   cout << "Here is new list forwards." << endl;
   list.frwdlist();
   cout << endl;
   cout << "Adding an item." << endl;
   list.store(4.4);
   cout << "Here is list forwards." << endl;
   list.frwdlist();
   cout << endl;
   p = list.find(1.1);
   if(!p)
    {
      cout << "Error, item not found." << endl;
      return 1;
    }
   p->getinfo(c);
   cout << "Changing " << c << " to 5." << endl;
   p->change(5.5);
   cout << "Here is list forwards, then backwards." << endl;
   list.frwdlist();
   list.bkwdlist();
   cout << endl;
   cin >> *p;
   cout << p;
   cout << "Here is list forwards again." << endl;
   list.frwdlist();
   cout << endl;
   cout << "Here is list after removing head of list." << endl;
   p = list.getstart();
   list.remove(p);
   list.frwdlist();
   cout << endl;
   cout << "Here is list after removing end of list." << endl;
   p = list.getend();
   list.remove(p);
   list.frwdlist();
 }








?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本欧美久久久久免费播放网| 悠悠色在线精品| 精品视频在线看| 欧美在线一区二区| 91福利国产成人精品照片| www.av亚洲| 91视频91自| 精品视频在线免费看| 欧美日韩另类一区| 欧美一区二区在线不卡| 日韩欧美专区在线| 精品国产三级a在线观看| 久久老女人爱爱| 中文字幕精品一区二区三区精品| 国产精品理伦片| 亚洲综合图片区| 日本亚洲最大的色成网站www| 免费日韩伦理电影| 国内久久精品视频| jlzzjlzz欧美大全| 欧美色国产精品| 亚洲精品一区二区三区福利| 中文字幕精品一区二区精品绿巨人| 国产精品免费久久久久| 亚洲一二三四久久| 毛片av一区二区三区| 国产成人8x视频一区二区| www.成人在线| 日韩久久久久久| 中文字幕中文在线不卡住| 天天色天天操综合| www.亚洲色图.com| 欧美一二三区在线观看| 亚洲三级在线免费观看| 蜜桃传媒麻豆第一区在线观看| 精彩视频一区二区| 欧美三级在线看| 中文幕一区二区三区久久蜜桃| 亚洲国产日韩a在线播放性色| 国产一区二区网址| 欧美色综合影院| 国产日韩欧美一区二区三区综合| 香蕉久久一区二区不卡无毒影院 | 国产亚洲欧美激情| 亚洲二区视频在线| 99久久国产综合精品色伊| 日韩欧美区一区二| 亚洲成人7777| av亚洲精华国产精华精华| 精品免费国产二区三区| 亚洲电影一级黄| 色综合咪咪久久| 国产精品免费视频一区| 激情综合色综合久久| 欧美男同性恋视频网站| 亚洲欧美乱综合| 成人毛片在线观看| 久久久蜜桃精品| 精品在线一区二区| 日韩视频一区二区三区| 日韩激情一二三区| 欧美日韩精品一区二区三区 | 国产欧美一区二区精品性| 奇米亚洲午夜久久精品| 国产日韩欧美高清| 久久精品噜噜噜成人88aⅴ| 7777精品伊人久久久大香线蕉经典版下载 | 欧美电影免费观看高清完整版在线| 一级特黄大欧美久久久| 91在线一区二区三区| 中文字幕一区二区三区四区不卡 | 欧美一区二区免费视频| 午夜精品福利在线| 777色狠狠一区二区三区| 视频在线在亚洲| 欧美一区二区三区成人| 日本午夜精品一区二区三区电影 | 亚洲综合自拍偷拍| 91免费观看在线| 亚洲女爱视频在线| 日本精品视频一区二区| 亚洲大片在线观看| 6080亚洲精品一区二区| 青青草精品视频| www亚洲一区| av中文字幕一区| 一区二区三区在线视频观看58 | 日韩视频一区二区| 久久99精品久久久久久动态图| 欧美一区二区在线视频| 国产中文一区二区三区| 中文一区在线播放| 欧美综合色免费| 天堂一区二区在线免费观看| 精品精品欲导航| 成人动漫av在线| 亚洲一区二区三区激情| 精品美女一区二区| 91影院在线免费观看| 亚洲国产成人av| 久久日韩粉嫩一区二区三区| 97se亚洲国产综合自在线不卡| 亚洲在线视频免费观看| 日韩一区二区免费高清| www.久久精品| 美女视频网站久久| 中文字幕一区二区三区四区 | 成人国产精品免费网站| 亚洲人成精品久久久久久| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲免费观看高清在线观看| 欧美精品粉嫩高潮一区二区| 国产成人在线观看免费网站| 亚洲一区二区美女| 欧美极品美女视频| 日韩一区二区麻豆国产| 色网站国产精品| 国产在线精品一区二区| 亚洲精品久久久蜜桃| 久久久久久免费| 欧美日韩在线精品一区二区三区激情| 国产一区 二区| 天天av天天翘天天综合网| 中文字幕精品综合| 日韩女同互慰一区二区| 91久久人澡人人添人人爽欧美| 国产乱国产乱300精品| 午夜精品久久久久| 亚洲精品成人少妇| 国产精品女人毛片| 2020国产精品自拍| 欧美一区二区日韩| 欧美日韩一区在线| 91国产视频在线观看| 懂色av一区二区三区免费看| 久久精品免费观看| 日韩高清在线观看| 亚洲资源中文字幕| 亚洲卡通动漫在线| 国产精品国产三级国产普通话蜜臀| 精品国产一区二区三区久久影院| 欧美精品久久99久久在免费线| 色综合久久久久| 99视频精品在线| 96av麻豆蜜桃一区二区| 成人一道本在线| 高潮精品一区videoshd| 风流少妇一区二区| 成人性生交大片免费看视频在线 | 中文字幕成人网| 国产丝袜在线精品| 久久人人97超碰com| 亚洲精品一区二区在线观看| 久久综合九色综合欧美98| 欧美mv和日韩mv的网站| 久久综合久久鬼色| 中文子幕无线码一区tr| 国产蜜臀97一区二区三区| 国产精品毛片a∨一区二区三区| 国产精品视频第一区| 综合久久久久久| 亚洲在线一区二区三区| 日本强好片久久久久久aaa| 日本免费在线视频不卡一不卡二| 天堂一区二区在线免费观看| 久久精品国产精品亚洲红杏 | 亚洲欧美综合另类在线卡通| 亚洲欧美偷拍三级| 亚洲va天堂va国产va久| 日韩影院在线观看| 韩国精品在线观看| 国产69精品久久久久777| 色狠狠色狠狠综合| 日韩一卡二卡三卡| 国产精品久久久久影院| 亚洲国产精品久久久久秋霞影院| 日韩精品一二三区| 国产成人午夜片在线观看高清观看| 高清beeg欧美| 欧美视频一区在线观看| 精品国产第一区二区三区观看体验 | 欧美男生操女生| 国产亚洲va综合人人澡精品| 亚洲男人的天堂av| 久久激情五月激情| 成人国产精品免费观看| 56国语精品自产拍在线观看| 国产亚洲精品资源在线26u| 亚洲综合在线电影| 国产麻豆视频精品| 欧美精品777| 久久精品日韩一区二区三区| 亚洲福利视频一区二区| 国产成人免费高清| 91精品国产一区二区三区香蕉 | 欧美老肥妇做.爰bbww| 国产亚洲精品资源在线26u| 天堂影院一区二区| 色婷婷亚洲精品| 国产肉丝袜一区二区|