皇家的傻涛👻 727567494
关注数: 25 粉丝数: 108 发帖数: 774 关注贴吧数: 39
求大神解决问题 单链表的插入 #include <iostream> using namespace std; #define LIST_INIT_SIZE 10 //存储空间的初始分配量 #define LISTINCREMENT 2 //存储空间的分配增量 #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) //尾插法 { LinkList q,p; int i; L = new LNode; q = L; for(i = 1;i<=n;i++) { p = new LNode; cin>>p->data; q->next=p; q = q->next; } q ->next = NULL; return OK; } /* Status CreateList_L(LinkList &L,int n) //头插法 { LinkList p,q; int i; L = new LNode; L->next=NULL; //先建立一个带头节点的单链表 q = L; for(i = n;i>0;--i) { p = new LNode; //生成新节点 cin>>p->data; //输入元素值 p->next=q->next; q->next=p; //插入表头 } return OK; } */ Status OutputList_L(LinkList L) { LinkList p; p = L->next; while(p!=NULL) { cout<<p->data<<" "; p = p->next; } cout<<endl; return OK; } Status LengthList_L(LinkList L,int &len) //单链表的长度 { len = 0; LinkList q; q = L->next; while(q!=NULL) { len+=1; q=q->next; } return OK; } /* Status ListDelete_L(LinkList &L,int i,ElemType &e) { int j; int len; LinkList p,q; if(i <1||i>LengthList_L(L,len)) return ERROR; p = L; for(j = 1;i<=i-1;j++) { p = p->next; } q = p->next; e = q->data; p->next = q->next; free(q); } */ Status ListInstert_L(LinkList &L,int i,ElemType e) { int j; int len; LinkList p,q; if(i < 1||i >LengthList_L(L,len)+1) return ERROR; p = L; for(j = 1;j<=i-1;j++) { p = p->next; } q = new LNode; q->data = e; q->next =p->next; p->next = q; return OK; } void main() { cout<<"请问你想创建一个多大的单链表:"; //提示性语句 int n; intlen; int i; int e; cin>>n; cout<<"请输入单链表内容:"<<endl; //提示性语句 LinkList L; CreateList_L(L,n); OutputList_L(L); cout<<"单链表的长度为:"; LengthList_L(L,len); cout<<len<<endl; cout<<"请输入一个数:"; cin>>e; cout<<"请问想插在第几个位置?"<<endl; cin>>i; ListInstert_L(L,i,e); //ListDelete_L }
1 下一页