用类封装一个单链表
#include<iostream>
#include<conio.h>
using namespace std;
typedef struct node
{
int id;
struct node* next;
}NODE;
class CList
{
NODE* head;
public:
CList()
{
head = (NODE*)malloc(sizeof(NODE));
head->id = 0;
head->next = NULL;
}
void insert(int data)
{
NODE* p = (NODE*)malloc(sizeof(NODE));
p->id = data;
p->next = head->next;
head->next = p;
}
void print()
{
NODE* p = head->next;
while (p != NULL)
{
printf("%d\n", p->id);
p = p->next;
}
}
void find(int val)
{
NODE* p = head->next;
for (int i = 1; p != NULL; i++)
{
if (p->id == val)
{
printf("你要找的值在第%d个,值为%d\n", i, p->id);
return;
}
p = p->next;
}
}
void del(int data)
{
printf("进去了\n");
NODE* p1 = head->next;
NODE* p2 = head;
while (p1 != NULL)
{
if (p1->id == data)
{
p2->next = p1->next;
free(p1);
return;
}
p1 = p1->next;
p2 = p2->next;
}
}
void change(int data)
{
NODE* p = head->next;
while (p != NULL)
{
if (p->id == data)
{
p->id = 666;
return;
}
p = p->next;
}
}
~CList()
{
if (head != NULL)
{
delete head;
head = NULL;
}
}
};
int main()
{
CList list;
for (int i = 0; i < 5; i++)
{
list.insert(1 + i);
}
list.find(5);
list.change(2);
list.print();
return 0;
}