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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cirlinklistm.txt

?? C++描述的數(shù)據(jù)結(jié)構(gòu)內(nèi)容,在C++builder的環(huán)境中運行,這是第二部分
?? TXT
字號:
//單循環(huán)鏈表的類定義cirlinklist.h
#define LEN 20
typedef int ElemType;
//單循環(huán)鏈表中結(jié)點的類型
typedef struct Lnode {
 ElemType data;   //值域
 Lnode* next;     //指針域
}LNode;
class cirlinklist
{private:
  LNode *head;//指向表頭的指針
  LNode *curr;//當(dāng)前結(jié)點指針
  int count;// 單循環(huán)鏈表的結(jié)點個數(shù)
 public:
//構(gòu)造函數(shù)
  cirlinklist();
//析構(gòu)函數(shù)
  ~cirlinklist(){delete head;}
//創(chuàng)建有序或無序的帶頭結(jié)點的單循環(huán)鏈表
  LNode *CreateCLinkL(int,int mark=0);
//清空單循環(huán)鏈表
  void ClearCList();
//求單循環(huán)鏈表長度
  int CListSize();
//檢查單循環(huán)鏈表是否為空
  bool CListEmpty();
//返回指向第pos個結(jié)點的指針
  LNode *Index(int pos);
//返回單循環(huán)鏈表中指定序號的結(jié)點值
  ElemType GetElem(int pos);
//遍歷單循環(huán)鏈表
  LNode *TraverseCList();
//當(dāng)前指針curr指向pos結(jié)點并返回curr
  LNode *Reset(int pos=0);
//當(dāng)前指針curr指向下一結(jié)點并返回
  LNode *Next();
// 判單循環(huán)鏈表當(dāng)前指針curr==head 否
  bool EndOCList();
//判單循環(huán)鏈表當(dāng)前指針curr->next是否到達表尾
  bool EndCList();
//刪除單循環(huán)鏈表當(dāng)前指針curr->next所指結(jié)點并返回其值
  ElemType DeleteNext();
//從單循環(huán)鏈表中查找元素
  bool FindCList(ElemType& item);
//更新單循環(huán)鏈表中的給定元素
  bool UpdateCList(const ElemType &item,ElemType &e);
//向鏈表中第pos個結(jié)點后插入域值為item的新結(jié)點
  void InsertCList(const ElemType& item,int pos);
//從鏈表中刪除第pos個結(jié)點并返回被刪結(jié)點的data
  ElemType DeleteCList(int pos);
};
//單循環(huán)鏈表的實現(xiàn)cirlinklist.cpp
#include<iostream.h>
#include<stdlib.h>
#include"cirlinklist.h"
//構(gòu)造函數(shù)
cirlinklist::cirlinklist()
{head=new LNode;
 curr=NULL;
 head->next=head;
 count=0;
}
//創(chuàng)建有序或無序的帶頭結(jié)點的單循環(huán)鏈表
LNode *cirlinklist::CreateCLinkL(int n,int mark)
{ElemType x,a[LEN];
 for(int i=0;i<n;i++) a[i]=random(150+i)%100;
 for(int i=0;i<n-1;i++)
  {int k=i;
   for(int j=i+1;j<n;j++)
    if(a[k]>a[j]) k=j;
   if(k!=i)
   {x=a[k];a[k]=a[i];a[i]=x;}}
 head=new LNode;
 head->next=curr=new LNode;
 for(int i=0;i<n;i++){
  if(mark==1) curr->data=a[i];//升序
  else
   if(mark==-1) curr->data=a[n-1-i];//降序
   else curr->data=rand()%100;//無序
  if(i<n-1){curr->next=new LNode;
   curr=curr->next;}
  count++;}
 curr->next=head;
 return head;
}
//清空單循環(huán)鏈表
void cirlinklist::ClearCList()
{LNode *cp,*np;
 cp=head->next;
 while(cp!=head)
 {np=cp->next;delete cp;cp=np;}
 head=NULL;
}
//求單循環(huán)鏈表長度
int cirlinklist::CListSize()
{LNode* p=head->next;
 int i=0;
 while(p!=head)
  {i++;p=p->next;}
 return i;
}
//檢查單循環(huán)鏈表是否為空
bool cirlinklist::CListEmpty()
{return head->next==head;}
//返回指向第pos個結(jié)點的指針
LNode *cirlinklist::Index(int pos)
{if(pos<1)
  {cerr<<"pos is out range!"<<endl;exit(1);}
 LNode* p=head->next;
 int i=0;
 while(p!=head)
  {i++;
   if(i==pos) break;
   p=p->next;}
 if(p!=head) return p;
 else {cerr<<"pos is out range!"<<endl;
  return NULL;}
}
//返回單循環(huán)鏈表中指定序號的結(jié)點值
ElemType cirlinklist::GetElem(int pos)
{if(pos<1)
 {cerr<<"pos is out range!"<<endl;exit(1);}
 LNode* p=head->next;
 int i=0;
 while(p!=head)
  {i++;
   if(i==pos) break;
   p=p->next;}
 if(p!=head) return p->data;
 else {cerr<<"pos is out range!"<<endl;
  return pos;}
}
//遍歷單循環(huán)鏈表
LNode *cirlinklist::TraverseCList()
{LNode *p=head->next;
 while(p!=head)
  {cout<<setw(4)<<p->data;
   p=p->next;}
 cout<<endl;
 return head;
}
//當(dāng)前指針curr指向pos結(jié)點并返回curr
LNode *cirlinklist::Reset(int pos)
{LNode* p=curr=head->next;
 int i=-1;
 while(p!=head)
  {i++;
   if(i==pos) break;
   p=p->next;curr=curr->next;}
 return curr;
}
//當(dāng)前指針curr指向下一結(jié)點并返回
LNode *cirlinklist::Next()
{curr=curr->next;
 return curr; 
}
// 判單循環(huán)鏈表當(dāng)前指針curr==head 否
bool cirlinklist::EndOCList()
{return curr==head;}
//判單循環(huán)鏈表當(dāng)前指針curr->next是否到達表尾
bool cirlinklist::EndCList()
{return curr->next==head;}
//刪除單循環(huán)鏈表當(dāng)前指針curr->next所指結(jié)點并返回其值
ElemType cirlinklist::DeleteNext()
{LNode *p=curr->next;
 curr->next=p->next;
 ElemType data=p->data;
 delete p;
 count--;
 return data;
}
//從單循環(huán)鏈表中查找元素
bool cirlinklist::FindCList(ElemType& item)
{LNode* p=head->next;
 while(p!=head)
  if(p->data==item)
   {item=p->data;return true;}
  else p=p->next;
 return false;
}
//更新單循環(huán)鏈表中的給定元素
bool cirlinklist::UpdateCList(const ElemType &item,ElemType &e)
{LNode* p=head->next;
 while(p!=head)  //查找元素
  if(p->data==item) break;
  else p=p->next;
 if(p==head) return false;
 else {  //更新元素
  p->data=e;return true;}
}
//向鏈表中第pos個結(jié)點后插入域值為item的新結(jié)點
void cirlinklist::InsertCList(const ElemType& item,int pos)
{LNode *newP=new LNode;
 newP->data=item;
 LNode* p=head->next;
 int i=0;
 while(p!=head)
  {i++;
   if(i==pos) break;
   p=p->next;}
 newP->next=p->next;
 p->next=newP;count++;
}
//從鏈表中刪除第pos個結(jié)點并返回被刪結(jié)點的data
ElemType cirlinklist::DeleteCList(int pos)
{if(pos<1)
  {cerr<<"pos is out range!"<<endl;exit(1);}
 LNode *p=head->next;
 curr=head;
 ElemType data;
 int i=0;
 while(p!=head)
  {i++;
   if(i==pos) break;
   p=p->next;curr=curr->next;}
 if(p!=head)
  {data=p->data;curr->next=p->next;
   delete []p;count--;return data;}
 else return pos;  
}
//單循環(huán)鏈表的測試與應(yīng)用cirlinklistm.cpp
#include<iomanip.h>
#include "cirlinklist.cpp"
void main()
{cout<<"cirlinklistm.cpp運行結(jié)果:\n";
 int m,i,n=10,x,it;
 bool f;
 cirlinklist p,t,q,mylink;
 p.CreateCLinkL(n,1);
 if(p.CListEmpty()) cout<<"單循環(huán)鏈表p空!\n";
 else cout<<"單循環(huán)鏈表p非空!\n";
 cout<<"單循環(huán)鏈表p(升序):\n";
 p.TraverseCList();
 if(p.CListEmpty()) cout<<"單循環(huán)鏈表p空!\n";
 else cout<<"單循環(huán)鏈表p非空!\n";
 if(p.EndCList()) cout<<"單循環(huán)鏈表p滿!\n";
 else cout<<"單循環(huán)鏈表p非滿!\n";
 cout<<"單循環(huán)鏈表t(無序):\n";
 t.CreateCLinkL(n-2);
 t.TraverseCList();
 cout<<"單循環(huán)鏈表t的長度:"<<t.CListSize()<<endl;
 cout<<"單循環(huán)鏈表q(降序):\n";
 q.CreateCLinkL(n,-1);
 q.TraverseCList();
 cout<<"單循環(huán)鏈表q的長度:"<<q.CListSize()<<endl;
 cout<<"鏈表q的第1個元素:"<<q.GetElem(1)<<endl;
 cout<<"鏈表q的第1個元素地址:"<<q.Index(1)<<endl;
 cout<<"鏈表q的第5個元素:"<<q.GetElem(5)<<endl;
 cout<<"鏈表q的第5個元素地址:"<<q.Index(5)<<endl;
 cout<<"鏈表q的第10個元素:"<<q.GetElem(10)<<endl;
 cout<<"鏈表q的第10個元素地址:"<<q.Index(10)<<endl;
 cout<<"鏈表q的curr->next所指元素地址:"<<q.Next()<<endl;
 x=65;it=66;
 if(q.FindCList(x)) cout<<x<<"查找成功!\n";
 else cout<<x<<"查找不成功!\n";
 if(q.UpdateCList(x,it)) cout<<x<<"更新成功!\n";
 else cout<<x<<"更新不成功!\n";
 cout<<"更新后單循環(huán)鏈表q:\n";
 q.TraverseCList();
 cout<<"插入后單循環(huán)鏈表q:\n";
 it=100;q.InsertCList(it,1);
 q.TraverseCList();
 cout<<"插入后單循環(huán)鏈表q:\n";
 it=101;q.InsertCList(it,5);
 q.TraverseCList();
 cout<<"插入后單循環(huán)鏈表q:\n";
 it=102;q.InsertCList(it,12);
 q.TraverseCList();
 cout<<"插入后q表長:"<<q.CListSize()<<endl;
 cout<<"第1個數(shù):"<<q.DeleteCList(1)<<"刪除成功!\n";
 cout<<"刪除后q表長:"<<q.CListSize()<<endl;
 q.TraverseCList();
 cout<<"第5個數(shù):"<<q.DeleteCList(5)<<"刪除成功!\n";
 cout<<"刪除后q表長:"<<q.CListSize()<<endl;
 q.TraverseCList();
 cout<<"第11個數(shù):"<<q.DeleteCList(11)<<"刪除成功!\n";
 cout<<"刪除后q表長:"<<q.CListSize()<<endl;
 q.TraverseCList();
 //求解約瑟夫(Josephus)問題
 cout<<"輸入人數(shù)n:";cin>>n;
 cout<<"輸入第次數(shù)m:";cin>>m;
 for(i=0;i<n;i++) mylink.InsertCList(i+1,i);
 cout<<"員工編號依次為:";
 LNode *w=mylink.Reset();
 while(!mylink.EndOCList())
  {cout<<setw(3)<<w->data;
   w=mylink.Next();}
 cout<<endl;
 cout<<"刪除次序依次為:\n";
 mylink.Reset(-1);
 for(i=0;i<n-1;i++)
 {for(int j=0;j<m-1;j++)
  {w=mylink.Next();
   if(mylink.EndOCList()) w=mylink.Next();}
  if(mylink.EndCList()) w=mylink.Next();
  cout<<"刪除第"<<mylink.DeleteNext()<<"人\n";}
 cout<<"最后剩下的是:第"<<mylink.GetElem(1)<<"個人\n";
 cin.get();cin.get();}
cirlinklistm.cpp運行結(jié)果:
單循環(huán)鏈表p非空!
單循環(huán)鏈表p(升序):
   2   8  10  10  28  28  47  49  63  66
單循環(huán)鏈表p非空!
單循環(huán)鏈表p滿!
單循環(huán)鏈表t(無序):
  45  89  87  64  19  68  55  46
單循環(huán)鏈表t的長度:8
單循環(huán)鏈表q(降序):
  93  51  47  46  43  41  35  32  31  13
單循環(huán)鏈表q的長度:10
鏈表q的第1個元素:93
鏈表q的第1個元素地址:12604252
鏈表q的第5個元素:43
鏈表q的第5個元素地址:12604316
鏈表q的第10個元素:13
鏈表q的第10個元素地址:12604396
鏈表q的curr->next所指元素地址:12604236
65查找不成功!
65更新不成功!
更新后單循環(huán)鏈表q:
  93  51  47  46  43  41  35  32  31  13
插入后單循環(huán)鏈表q:
  93 100  51  47  46  43  41  35  32  31  13
插入后單循環(huán)鏈表q:
  93 100  51  47  46 101  43  41  35  32  31  13
插入后單循環(huán)鏈表q:
  93 100  51  47  46 101  43  41  35  32  31  13 102
插入后q表長:13
第1個數(shù):93刪除成功!
刪除后q表長:12
 100  51  47  46 101  43  41  35  32  31  13 102
第5個數(shù):101刪除成功!
刪除后q表長:11
 100  51  47  46  43  41  35  32  31  13 102
第11個數(shù):102刪除成功!
刪除后q表長:10
 100  51  47  46  43  41  35  32  31  13
輸入人數(shù)n:8
輸入第次數(shù)m:3
員工編號依次為:  1  2  3  4  5  6  7  8
刪除次序依次為:
刪除第3人
刪除第6人
刪除第1人
刪除第5人
刪除第2人
刪除第8人
刪除第4人
最后剩下的是:第7個人

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线不卡观看免费观看| 国产一区二区中文字幕| 欧美一区二区三区的| 国产福利一区在线观看| 亚洲成人激情社区| 国产精品另类一区| 日韩丝袜情趣美女图片| 色综合中文字幕国产 | 日本道色综合久久| 激情图片小说一区| 亚洲v中文字幕| 亚洲图片另类小说| 久久久亚洲精品石原莉奈| 欧美高清精品3d| 91美女片黄在线| 国产91精品免费| 久久aⅴ国产欧美74aaa| 午夜精品影院在线观看| 亚洲乱码中文字幕| 国产精品理论片在线观看| 日韩一区精品字幕| 亚洲色图另类专区| 欧美激情一区二区三区不卡| 欧美成人r级一区二区三区| 欧美巨大另类极品videosbest | 色哟哟亚洲精品| 国产91精品精华液一区二区三区| 日本色综合中文字幕| 亚洲一区免费在线观看| 中文字幕在线观看一区二区| 国产欧美一区二区三区鸳鸯浴| 欧美一区二区精品久久911| 欧美日韩国产123区| 91官网在线免费观看| 一本到不卡免费一区二区| 99久久久久久99| www.视频一区| 91丨porny丨户外露出| av亚洲精华国产精华| 国产a视频精品免费观看| 国内精品久久久久影院薰衣草| 久久99精品久久久久久动态图| 亚洲国产精品一区二区久久| 一区二区不卡在线播放 | 国模大尺度一区二区三区| 久久99精品久久久久久国产越南| 久久99国产精品免费网站| 久久不见久久见免费视频7| 精品一区二区在线观看| 国产一区二区0| 粉嫩13p一区二区三区| 播五月开心婷婷综合| 91一区在线观看| 91黄色激情网站| 欧美日韩国产系列| 日韩欧美你懂的| 久久久久久久久免费| 国产精品久久午夜夜伦鲁鲁| 1区2区3区欧美| 亚洲综合av网| 日韩精品乱码免费| 精品一区二区免费| 成人sese在线| 在线中文字幕不卡| 91精品国产综合久久精品| 337p粉嫩大胆噜噜噜噜噜91av| 久久蜜桃av一区二区天堂| 亚洲国产精品二十页| 亚洲免费在线视频| 日韩电影一二三区| 国产成人亚洲综合色影视| 91视频com| 91精品国产一区二区三区| 久久久久综合网| 亚洲精品亚洲人成人网在线播放| 亚洲不卡av一区二区三区| 国产在线视视频有精品| 91视频91自| 日韩一级免费一区| 欧美激情资源网| 亚洲伊人色欲综合网| 激情图片小说一区| 日本乱人伦一区| 欧美成人精品3d动漫h| 国产精品嫩草影院com| 亚洲国产精品麻豆| 国产成人精品影院| 欧美日韩一二区| 亚洲国产高清aⅴ视频| 亚洲高清免费一级二级三级| 国产一区二区视频在线| 在线一区二区三区四区| 精品va天堂亚洲国产| 亚洲欧美日韩国产中文在线| 337p亚洲精品色噜噜噜| 国产欧美日韩麻豆91| 亚洲影视在线观看| 国产a区久久久| 日韩亚洲欧美成人一区| 亚洲免费av观看| 国产精品伊人色| 91精品国产综合久久蜜臀| 国产精品国产自产拍在线| 捆绑调教一区二区三区| 91久久免费观看| 日本一二三四高清不卡| 蜜桃久久精品一区二区| 色综合久久久久网| 国产欧美日韩麻豆91| 蜜臀av一级做a爰片久久| 91国产丝袜在线播放| 欧美激情综合网| 激情久久五月天| 欧美丰满少妇xxxbbb| 亚洲丝袜另类动漫二区| 国产高清一区日本| 精品久久久久香蕉网| 午夜伊人狠狠久久| 91官网在线免费观看| 国产精品久久精品日日| 国产盗摄视频一区二区三区| 91精品国产综合久久精品性色 | 国产精品久久久久久一区二区三区| 蜜臀久久久99精品久久久久久| 欧美性猛片aaaaaaa做受| 国产精品国产三级国产三级人妇 | 亚洲最快最全在线视频| 99re这里都是精品| 亚洲欧洲av另类| 丁香桃色午夜亚洲一区二区三区| 精品国免费一区二区三区| 日日夜夜精品视频天天综合网| 欧美在线观看一区二区| 亚洲欧美日韩电影| 色综合色综合色综合色综合色综合| 国产日韩成人精品| 国产精品99久久久久久宅男| 亚洲精品在线三区| 国产资源在线一区| 久久久三级国产网站| 国产乱码字幕精品高清av| 久久久久久99精品| 国产精品18久久久久久久久| 国产欧美久久久精品影院| 国产成人啪午夜精品网站男同| 久久精品综合网| 粉嫩av一区二区三区在线播放 | 国产喂奶挤奶一区二区三区| 韩国一区二区视频| 国产欧美一区视频| 国产98色在线|日韩| 国产精品欧美综合在线| 成人av手机在线观看| 亚洲美女视频一区| 欧美三级欧美一级| 免费观看91视频大全| 久久亚洲综合色一区二区三区| 国产成人免费9x9x人网站视频| 国产精品毛片大码女人| 欧美在线视频不卡| 日本人妖一区二区| 久久久久久**毛片大全| 91亚洲精品一区二区乱码| 亚洲国产va精品久久久不卡综合| 宅男噜噜噜66一区二区66| 国精产品一区一区三区mba视频| 日本一区二区三区电影| 一本久道中文字幕精品亚洲嫩| 亚洲成a人v欧美综合天堂下载 | 午夜影院久久久| 精品99999| 91视频免费播放| 蜜桃在线一区二区三区| 国产精品色呦呦| 欧美日韩不卡一区| 国产精品综合视频| 亚洲国产成人porn| 久久久综合精品| 欧美午夜理伦三级在线观看| 蜜臀av一级做a爰片久久| 亚洲国产精品ⅴa在线观看| 欧美日韩中文字幕一区| 国产一区二区不卡| 亚洲成a人片在线观看中文| 久久免费精品国产久精品久久久久| 色综合激情五月| 精品一区二区三区欧美| 亚洲美女免费在线| 久久久噜噜噜久久中文字幕色伊伊| 色天使色偷偷av一区二区| 久久99精品久久久久久久久久久久| 中文字幕综合网| 欧美变态口味重另类| 91视频你懂的| 国产一区在线不卡| 午夜精品久久久久久久久久久| 久久久久高清精品| 欧美精品黑人性xxxx| yourporn久久国产精品| 久久不见久久见中文字幕免费|