请C++ /数据结构 好手帮我看看

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:19:06
#include<iostream>
#include <cstdlib>
using namespace std;

typedef struct Lnode
{
int data;
struct Lnode *next;
} Lnode, *LinkList;
LinkList p;
LinkList L;
int count = 0; //记录链表的个数
int counti = 0; //记录添加的个数
int countd = 0; //记录删除的个数
int e[10]={0}; //定义数组
int number = 0; //数组的元素记数

void CreateList_L(LinkList &L, int n) //逆位输入元素值,建立带表头结点的单链表
{
L = (LinkList) malloc (sizeof(Lnode));
L->next = NULL;
for(int i=n; i>0; i--)
{
p = (LinkList) malloc (sizeof(Lnode));
if(i == n) cout << "请输入10个数:" << endl;
else cout << "请输入下一个数:" << endl;
cin >> p->data ;
p->next = L->next;
L->next = p;
}
count = 10;

}//void CreateList_L

int GetElem_L(LinkList L, int i, int &e) //L为带头结点单链表头指针 以e返回第i个元素 不存在则返回ERROR
{<

你的删除没有错,是你的count出了问题! 可能在添加或者删除的时候没有改变他的值!
#include<iostream>
#include <cstdlib>
using namespace std;

typedef struct Lnode
{
int data;
struct Lnode *next;
} Lnode, *LinkList;
LinkList p;
LinkList L;
int count = 0; //记录链表的个数
int counti = 0; //记录添加的个数
int countd = 0; //记录删除的个数
int e[10]={0}; //定义数组
int number = 0; //数组的元素记数

void CreateList_L(LinkList &L, int n) //逆位输入元素值,建立带表头结点的单链表
{
L = (LinkList) malloc (sizeof(Lnode));
L->next = NULL;
for(int i=n; i>0; i--)
{
p = (LinkList) malloc (sizeof(Lnode));
if(i == n) cout << "请输入10个数:" << endl;
else cout << "请输入下一个数:" << endl;
cin >> p->data ;
p->next = L->next;
L->next = p;
}
count = 10;

}//void CreateList_L

int GetElem_L(LinkList L, int i, int &e) //L为带头