[c]链表的建立与一些操作
来源:互联网 发布:海岛大亨5mac版汉化 编辑:程序博客网 时间:2024/09/21 06:35
你没事吧,没事,就建个链表玩~于是我就那么无聊的建了个链表。。有啥用??不知道= =
#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;struct Node{int array;Node* next;};struct List{Node* head;Node* tail;};List new_list(){List list;list.head=NULL;list.tail=NULL;return list; }void add_list(List *list,int array){Node *p=(Node*)malloc(sizeof(Node));Node *q;if(list->head == NULL){list->head = p;p->array = array;p->next = NULL;list->tail = p;}else{q = list->tail;q->next = p;p->array = array;p->next = NULL;list->tail = p;}}void print_list(List *list){Node *p;for(p=list->head ; p ; p=p->next){printf("%d\t", p->array);}}void printx_list(List *list,int x){Node *p;int i;for(i=1,p=list->head ; i<x ; p=p->next,i++);printf("%d",p->array);}int find_list(List *list,int num){int x,sign=0,i=1;Node *p;for(p=list->head; p ;p=p->next,i++){if(p->array == num){x=i;sign=1;break;}}if(!sign) x=-1;return x;}void delx_list(List *list,int num){Node* p;Node* q;int i;p=list->head;for( i=1; i<num ; q=p,p=p->next,i++) ;if(num==1){list->head = p->next;free(p);}else{q->next = p->next;free(p);}}void free_list(List *list){Node *p;Node *q;p=list->head;while(p){q=p;p=p->next;free(q);}}int main(){List list=new_list(); //建一个新链表 int x;for(int i=0;i<5;i++){scanf("%d",&x);add_list(&list,x);//在链表中添加5个数 }print_list(&list);//遍历链表并打印 printf("\n");printx_list(&list,3);//打印链表中第x个数 int num;scanf("%d",&num);int n=find_list(&list,num);//找到链表中指定的数,返回值是第几个数,若没有返回-1 printf("found at:%d",n);int s;scanf("%d",&s);delx_list(&list,s);//删除链表中第s个数 print_list(&list);free_list(&list);//删除链表 return 0;}
0 0
- [c]链表的建立与一些操作
- 二叉树的建立与输出以及其他一些相关操作(递归算法实现) C语言
- 广义表的建立与一般操作C\C++
- C语言 链表的一些操作
- C 关于链表的一些操作
- 双向链表的建立与基本操作
- 链串的建立与插入操作
- 广义表的建立与基本操作
- 广义表的建立与基本操作
- 广义表的建立与一般操作
- c语言(逆序)建立链栈与栈的基本操作
- C语音动态链表的建立与输出
- 链表的c源代码及一些相关操作
- 【C语言】链表的一些简单操作
- C语言中关于链表的一些操作
- iphone数据的建立与表的操作
- C语言链表操作(新增单向链表的逆序建立)
- 链表的基本操作(C语言版):建立,插入,删除,查找,输出
- SOAP详解
- ocos2d-x--SEL_CallFuncN,SEL_CallFuncO等的区别
- OERR: ORA-8103 "object no longer exists" Master Note / Troubleshooting, Diagnostic and Solution (Doc
- 15年1月的每天小程序
- 在ubantu下配置LAMP
- [c]链表的建立与一些操作
- BZOJ 3105 CQOI 2013 新Nim游戏 && 2460 BeiJing 2011 元素 拟阵+线性基
- 关于 MFC 的 OnInitialUpDate
- oracle导入导出整理(一)
- 阿里云linux服务器如何创建WordPress站点
- Spring 之注解事务 @Transactional
- github提交代码使用
- cocos3.x之C++11新特性
- 解决:MATLAB_Compiler_Runtime libgfortran.so.3: version `GFORTRAN_1.4' not found