c++list模仿
来源:互联网 发布:手机频率对讲机软件 编辑:程序博客网 时间:2024/05/20 11:20
#include<iostream>#include<list>#include<cstdlib>#include<string>using namespace std;typedef struct node{char x;node *next;}node;class mylist{private:node *head=new node;int length = 0;node *r=head;void insert(node *n);public:char get(int i);int push_back(char c);bool empty();int push_front(char c);void pop_back();void pop_front();void sort();node* begin();node* end();int size();void print();};int mylist::push_back(char c){node *newnode = new node();newnode->x = c;newnode->next = 0;r->next = newnode;r = newnode;length++;return length;}void mylist::print(){node* begin = head->next;while (begin){cout << begin->x << " ";begin = begin->next;}}int mylist::size(){return length;}node* mylist::begin(){return head->next;}node* mylist::end(){return r;}bool mylist::empty(){if (length == 0)return true;else return false;}void mylist::pop_back(){delete r;length--;}char mylist::get(int i){node *s = head;int j = 1;if (length < i)return -1;while (j != i+1){s = s->next;j++;}return s->x;}void mylist::sort(){node* i = head->next;node* j;int count = 0;while (i){j = head->next;while (j){if (i->x < j->x){int temp = i->x;i->x = j->x;j->x = temp;}j = j->next;}i = i->next;}}int mylist::push_front(char c){node *l = head;node *newnode = new node();newnode->x = c;newnode->next = head->next;head->next = newnode;length++;return length;}void mylist::pop_front(){node *l = head->next;head->next = head->next->next;delete l;length--;}int main(){mylist mylis;mylis.push_back('1');mylis.push_back('3');mylis.push_back('2');mylis.push_front('4');string s;for (int i = 0; i < 10000; i++){s += (rand()%10+'0');}for (int i = 0; i < s.length(); i++){mylis.push_back(s[i]);}mylis.print();mylis.sort();mylis.print();}
0 0
- c++list模仿
- 超级数组,list底层实现模仿
- duilib模仿实现list ctrl的icon
- List模仿SQL的group by分组
- C语言 HexToBin BinToHex 模仿
- C/C++模仿小灵通系统
- C语言模仿C++多态
- C 语言模仿实现HashTable
- C语言模仿C#事件
- 模仿
- 模仿
- 模仿
- 模仿
- List-C
- C list
- php开发socket模仿c/s结构
- C++简易模仿C#Delegate机制
- 用C语言模仿Python函数
- 时间编程类
- Ubuntu 程序“java”已包含在下列软件包中
- 区间贪心 POJ3069 1328 2376 nyist14
- 绝招!不用外挂也能最快的抢到微信红包
- 队列的实现
- c++list模仿
- android基础学习之广播
- SyncML
- android实现漫天雪花&下雨效果
- 使用反射和codeDom实现C#插件开发(2)dll开发
- Spring 对hibernate事务处理的实现过程(1) hibernate 自己是怎么做的
- Android中压缩图片的几种方法
- LeetCode 260 Single Number III
- 我的“VLC for Android” 编译之旅