C++链表操作
来源:互联网 发布:淘宝网真皮短款女靴 编辑:程序博客网 时间:2024/05/16 06:05
#define _CRT_SECURE_NO_DEPRECATE#include<iostream>//#include<malloc.h>#include<stdio.h>using namespace std;struct Node{ int number; char *a; /*int grade;*/ Node * next;};Node* insert(Node * &head/*, int num*/);void del(Node * &head, int key);void show(const Node * head);void GreatList(Node * &head);void main(){ int k; Node * head = NULL; cout << "初始化链表:" << endl; GreatList(head); cout << "插入学生:" << endl; insert(head/*, k*/); cout << "输入删掉的学生信息"; cin >> k; del(head, k); show(head);}void GreatList(Node * &head){ Node *s, *p = NULL; s = new Node; cin >> s->number; scanf("%s",&s->a); while (s->number != 0) { if (head == NULL) head = s; else p->next = s;//38行 p = s; s = new Node; cin >> s->number; scanf("%s", &s->a); } p->next = NULL; delete s; return;}Node* insert(Node * &head/*, int num*/){ Node * s, *p, *q,*sn,*pre; sn = head;//这里需要一个指针指向头结点 pre = head; s = new Node; cin >> s->number; scanf("%s", &s->a); /*s->number = num;*/ s->next = NULL; if (head == NULL) { head = s; } else { while (s->number > sn->number&&sn->next!=NULL) { pre = sn; sn = sn->next; } if (s->number <= sn->number) { if (head == sn) { head = s; s->next = sn; } else { pre->next = s; s->next = sn; } } else { sn->next = s; } } return head;}void del(Node * &head, int key){ Node * p; if (!head) { cout << "列表为空!\n"; return; } if (head->number == key) { p = head; head = head->next; delete p; p = NULL; cout << key << "列表头节点已被删除\n"; return; } for (Node * pg = head; pg->next!=NULL; pg = pg->next) { if (pg->next->number == key) { p = pg->next; pg->next = p->next; delete p; cout << key << "已被删除\n"; return; } } cout << key << "不存在链表中\n";}void show(const Node * head){ cout << "现在的列表为:"; while (head) { cout << head->number << endl; char *arr = head->a; cout << arr; head = head->next; }}
阅读全文
1 0
- C链表操作
- 双向链表-C/C++-多项式操作
- c/c++链表操作
- C语言 链表操作
- C语言 链表操作
- [C++]双向链表操作
- c语言链表操作
- c语言链表操作
- C语言 -- 链表操作
- C实现链表操作
- 链表操作(C++)
- c语言链表操作
- c语言链表操作
- 链表操作C语言版
- 【c】链表的操作!!!
- 链表的操作(C)
- C语言 链表的一些操作
- 链表的基本操作(C++)
- php-fpm 性能最大化
- Redis常用命令三
- 马克思主义哲学
- tcp编程-python
- weblogic修改控制台密码
- C++链表操作
- TablayoutViewPagerFragment 一系列的结合使用
- (ssl 2290)潜水员
- String、StringBuffer与StringBuilder比较
- 洛谷P2502 旅行 SSL_1226 (并查集)
- vim中的正则替换
- 线程无法停止的一种情况
- 用thinkPHP创建在index下的控制器
- bzoj1059: [ZJOI2007]矩阵游戏