单向链表的反转
来源:互联网 发布:怪物猎人x数据库多玩 编辑:程序博客网 时间:2024/06/05 01:56
#include <iostream>#include <iomanip>#include <ctime>#include <cstdlib>using namespace std;class list{public: int num,score;char name[10];class list *next;};typedef class list node;typedef node *link;int main(){ link ptr,last,before;int i,j,findword=0,data[12][2];char namedata[12][10]={{"Allen"},{"Mako"},{"Lean"}, {"Melissa"},{"Angel"},{"Sabrina"},{"Joyce"}, {"Jasica"},{"Hanson"},{"Amy"},{"Bob"},{"Jack"}};srand((unsigned)time(NULL));for (i=0;i<12;i++){ data[i][0]=i+1;data[i][1]=rand()%50+51;}link head=new node;//建立链表头指针if(!head){ cout<<"Error!! 内存分配失败!!"<<endl;exit(1);}head->num=data[0][0];for (j=0;j<10;j++)head->name[j]=namedata[0][j];head->score=data[0][1];head->next=NULL;ptr=head;for(i=1;i<12;i++) //建立链表{ link newnode=new node;newnode->num=data[i][0];for (j=0;j<10;j++)newnode->name[j]=namedata[i][j];newnode->score=data[i][1];newnode->next=NULL;ptr->next=newnode;ptr=ptr->next;}ptr=head;i=0;cout<<"原始链表数据:"<<endl; while (ptr!=NULL) { //打印链表数据cout<<"["<<setw(2)<<ptr->num<<setw(8) <<ptr->name<<setw(3)<<ptr->score<<"] -> ";i++;if(i>=3) //三个元素为一行{ cout<<endl;i=0;}ptr=ptr->next;}ptr=head;before=NULL;cout<<"\n反转后链表数据:"<<endl; while(ptr!=NULL) //链表反转{ last=before;before=ptr;ptr=ptr->next;before->next=last;}ptr=before;while(ptr!=NULL){ cout<<"["<<setw(2)<<ptr->num<<setw(8) <<ptr->name<<setw(3)<<ptr->score<<"] -> ";i++;if(i>=3){ cout<<endl;i=0;}ptr=ptr->next;}system("pause");}
阅读全文
0 0
- 单向链表的反转
- 单向链表的反转
- 单向链表的反转
- 单向链表的反转
- 单向链表的反转
- 单向链表的反转
- 单向链表的反转
- 单向链表反转
- 反转单向链表
- 单向链表反转
- 单向链表反转
- 单向链表反转
- 反转单向链表
- 反转单向链表
- 反转单向链表
- 反转单向链表
- 单向链表反转
- 单向链表反转
- 两个一样的oracle 数据库怎么实现数据定期同步?
- LoRa学习:LoRa进行跳频扩频通信(FHSS)的原理
- Delphi XE10,Json 生成和解析,再利用indyhttp控件Post
- 博主介绍
- 装箱问题只能用DP?点进来。
- 单向链表的反转
- Linux命令 --- date
- Linux-常用命令(2)
- QGC之PlanMapItems
- linux 标准GPIO 驱动模型—version1
- C#学习回顾笔记五:显式转换与隐式转换
- 构造函数与构造函数的重载能有返回值吗?
- Python,PyCharm2017安装教程,包含注册码
- VUE 学习笔记 从零开始一步一步构建 VUE 单页应用(二)