用链表实现vector
来源:互联网 发布:相片合成软件下载 编辑:程序博客网 时间:2024/06/05 20:06
用链表实现vector的一些功能,部分代码如下,以后还要修改,现在先做一个修正
// keshan.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <malloc.h>#define NULL 0#define LEN sizeof(struct Node)struct Node{int value;Node * next;};//创建单向链表Node * create_link(){Node *head = (Node *)malloc(LEN);head->next = NULL;head->value = 0;return head;}//末尾增加元素,相当于push_backvoid push_link(Node *head ,int key){Node * p = head;while(p->next!=NULL){p = p->next;}p->next = (Node *)malloc(LEN);p = p->next;p->value = key;p->next = NULL;}//求链表的长度,相当于vector的lengthint length_link(Node * head){Node * p = head;int len = 1;while(p->next!=NULL){p = p->next;len++;}return len;}//查询链表,相当于vector中的atint at_link(Node * head,int index){Node * p = head;while(p->next!=NULL){}}//打印链表void print_link(Node *head,const char * str){printf("%s\n",str);Node *p = head;printf("%d\n",head->value);while(p->next!=NULL){p = p->next;printf("%d\n",p->value);}}//清空链表void clear_link(Node *head){}int _tmain(int argc, _TCHAR* argv[]){//创建Node * head = create_link();print_link(head,"创建的链表为:");//增加元素push_link(head,5);push_link(head,6);print_link(head,"增加两个元素后为:");//访问元素int len = length_link(head);printf("the length is %d\n",len);//清空//clear_link(head);//print_link(head,"清空之后的链表为");getchar();return 0;}
0 0
- 用链表实现vector
- vector实现
- vector实现
- vector 实现
- vector实现
- 实现vector
- vector实现
- STL vector 容器实现
- 手动实现Vector
- 自己实现迷你vector
- STL vector实现(一)
- STL vector实现
- vector的实现
- vector的实现
- 自已实现Vector
- C++实现Vector类
- Vector部分实现
- vector部分实现
- 运算符
- replaceWith()和replaceAll() 和html()
- 在线mp3音量调整
- mysql engine存储引擎
- 线程类Thread的API接口分析系列之interrupt()
- 用链表实现vector
- Shell脚本学习-命令行参数处理
- Java:java中基础数据类型与转换.
- 最大数问题
- 论文阅读:Knowledge Based Segmentation for Fast 3D Dental Reconstruction from CBCT
- 动态库编译:.so: undefined symbol
- NIO与标准IO不同
- java面试题汇总
- 前端-JavaScript