#include<iostream> using namespace std; const int maxsize = 10; struct Node { double data; Node *prior, *next; }; class scorelist { private: Node * p; public: scorelist() { p = new Node; p->next=NULL ; } ~scorelist() { Node *q = NULL; while (p != NULL) { q = p; p = p->next; delete p; } } scorelist(double a[], int n) { Node *r, *s; p = new Node; r = p; for (int i = 0; i < n; i++) { s = new Node; s->prior = r; s->data = a[i]; r->next = s; r = s; } r->next = NULL; } void insert(int i, double x) { Node *o = p, *s = NULL; int count = 0; while (o != NULL && count < i - 1) { o = o->next; count++; } if (o == NULL) throw"位置异常"; else { s = new Node; s->data = x; s->prior = o; s->next = o->next; (o->next)->prior = s; o->next = s; } } void printlist() { Node *o = p->next; while (o != NULL) { cout << o->data << " "; o = o->next; } cout << endl; } }; void main() { double stu[6] = { 25,65,75,85,95,100 }; scorelist student(stu,6); student.printlist(); student.insert(3, 60); cout << "插入成绩后的列表:" << endl; student.printlist(); }
实验3:双链表
猜你喜欢
转载自blog.csdn.net/u011633428/article/details/80173048
今日推荐
周排行