中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構-鏈表的操作

發布時間:2020-07-11 07:27:54 來源:網絡 閱讀:316 作者:BODOA 欄目:編程語言
#include<iostream>
using namespace std;

#define OK 1;
#define ERROR 0;
typedef  int   ElemType;
typedef  int   Status;

typedef struct LNode    //定義鏈表結構體
{
   ElemType data;
   struct LNode *next;
}LNode, *LinkList; 


Status CreateList_L(LinkList &L,int n)    //創建鏈表并輸入數據
{
   int i;
   LinkList p,q;      //p q :過度指針
   L=new LNode;     //新申請的結點 
   L->next=NULL;      //生成頭指針
   q=L; 
   cout<<"please input "<<n<< " numbers";
   for(i=1;i<=n;i++)     
   {
 p=new LNode;     //申請新的結點
    cin>>p->data;
    q->next=p;  // 鏈表鏈接
    q=q->next;    // 跳指針
   }
   q->next=NULL;     //生成尾指針
   return OK;
}


Status Outptlist_L(LinkList L)     //輸出鏈表
{
 LinkList p;        
    p=L->next;   //指向首結點
  if(p==NULL)    //當鏈表尾空 指示返回空鏈表
  {
   cout<<"This list is empyt."<<endl;
  }
  while (p!=NULL)  
  {
   cout<<p->data<<" ";    //當鏈表不為空,輸出鏈表數據
   p=p->next;          // 跳指針
  }
  cout <<endl;
  return OK;
}


int  Listlength_(LinkList L)   //求鏈表長度
{ 
  LinkList p;             
  int  n=0;
  p=L->next;      //p指向首結點
  while (p!=NULL)
  {
   n++;             
      p=p->next;   
  }
  return n;
}

 
Status GetElem_L(LinkList L,int i,ElemType &e)       //將鏈表L中第i個元素用e返回
{
 LinkList p;
 int j;
 if (i<1||i> Listlength_(L))  //判斷選擇的合理性
  return ERROR;
  p=L->next;
  for (j=1;j<i;j++)   //for 循環尋找第i個元素
   p=p->next ;   
   e=p->data;               //用e返回
   return OK;
}


Status ListInsert_L(LinkList&L,int i,ElemType e)    //  在鏈表第i個位置插入e
{
LinkList p,S;
int j;
if (i<1||i> Listlength_(L)+1)  //判斷選擇的合理性
  return ERROR;
if (i==1)  p=L;  //當在第一個元素插入時p指向頭指針
else
 p=L->next;     //否則指向首結點
 
for(j=1;j<i-1;j++)
   p=p->next;
S=new LNode;          //申請新的結點
S->data=e;            //將e賦給新的結點
S->next=p->next;        //將新結點與前一個結點的next鏈接
p->next=S;              //將前一個結點與新節點鏈接
return OK;
}


Status ListDelete_L(LinkList&L,int i,ElemType &e)       //刪除鏈表L的第i個元素,并用e返回
{
 LinkList p,q;
 int j;
 if (i<1||i> Listlength_(L))  //判斷選擇的合理性
  return ERROR;
     p=L->next;
     for(j=1;j<i-1;j++)        //找到第i個元素
  p=p->next;
     q =p->next;        //  q指向p的next
  e=q->data;            // 取q的數據
  p->next=q->next;      //將p的next與q的next鏈接
  free(q);               //釋放指針
  return OK;
}



  void main ()
  { 
  int n,m,k;
     LinkList L1;
     cout <<"please input a umber: ";
  cin>> m;
     CreateList_L(L1,m);
  cout<<"輸出列表:";
     Outptlist_L( L1);
     cout<<"The length is  "<< Listlength_(L1)<<endl;
      GetElem_L( L1,3,n);
     cout<<"The number is  "<<n<<endl;
  ListInsert_L(L1,6, 0);
  cout<<"The Insertlist is :  ";
  Outptlist_L( L1);
  ListDelete_L(L1,3,k);
  cout<<"The Deletelist is :  ";
  Outptlist_L( L1);
     cout<<"The Delete number is  "<<k<<endl;
  }


附件:http://down.51cto.com/data/2368719
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

饶平县| 永济市| 阿城市| 萨嘎县| 监利县| 南和县| 海口市| 台北县| 湖北省| 普格县| 合水县| 保定市| 河间市| 汾西县| 姜堰市| 莲花县| 兖州市| 兴业县| 平原县| 讷河市| 枣强县| 陕西省| 苍山县| 建德市| 张家口市| 康平县| 巨鹿县| 汉中市| 呼玛县| 巩留县| 井冈山市| 苗栗市| 辽阳市| 长垣县| 东兴市| 阿图什市| 吉林市| 海宁市| 淮滨县| 会泽县| 册亨县|