C:单链表的简单实现
来源:互联网 发布:淘宝网购买流程 编辑:程序博客网 时间:2024/06/15 09:05
前言
今天整理资料的时候翻出来的文件,发现是以前学习数据结构的时候写的代码,当初是看郝凯老师的视频学习的C语言的数据结构,下面是对于一个单链表的简单的实现。
/** **************************************************************************** *@file SingleLinker.c *@version V1.00 *@brief *@date 2015/11/24 ***************************************************************************** */#include <stdio.h>#include <malloc.h>typedef struct Node{ int data; struct Node *pNext; }NODE,*pNODE;pNODE CreateList(void);void TraveList(pNODE pHead);void InsertNode(pNODE pHead);void DeleteNode(pNODE pHead);void SearchNode(pNODE pHead);int main(void){ char Temp = '0'; pNODE pHead; pHead = (pNODE)malloc(sizeof(NODE)); if(pHead == NULL){ printf("Fail to set memory\n"); } pHead = CreateList(); printf("If you want show the list? y/n? \n"); while('Y' == getchar() || 'y' == getchar()){ TraveList(pHead); } InsertNode(pHead); TraveList(pHead); DeleteNode(pHead); TraveList(pHead); SearchNode(pHead); printf("Test Linker\n"); return;}/** **************************************************************************** * @brief CreateList * @param none * @return pNODE * @note ***************************************************************************** */pNODE CreateList(void){ int len; int val; int i; pNODE pHead = NULL; pNODE pTemp; pHead = (pNODE)malloc(sizeof(NODE)); if(pHead == NULL){ printf("Fail to set memory\n"); return; } pTemp = pHead; pTemp->pNext = NULL; printf("Please input length of the list\n"); scanf("%d",&len); pHead->data = len; for(i=1; i<=len; i++){ printf("Please input the %dth value\n",i); scanf("%d",&val); pNODE pNEW = (pNODE)malloc(sizeof(NODE)); if(pNEW == NULL){ printf("Fail to set memory\n"); return; } pNEW->data = val; pTemp->pNext = pNEW; pNEW->pNext = NULL; pTemp = pNEW; } return pHead;}/** **************************************************************************** * @brief TraveList * @param [in]pHead * @return none * @note ***************************************************************************** */void TraveList(pNODE pHead){ int i = 0; pNODE pTemp = pHead->pNext; while(pTemp != NULL){ i++; printf("the %dth Value is:%d\n",i,pTemp->data); pTemp = pTemp->pNext; } return;}/** **************************************************************************** * @brief InsertNode * @param [in]pPostion * @param [in]value * @return none * @note ***************************************************************************** */void InsertNode(pNODE pHead){ int i,n,val; pNODE pTemp = pHead; printf("Which node do you want to insert?1~%d \n",pHead->data); scanf("%d",&n); if(n > pHead->data){ printf("The number is over range\n"); return; } printf("Please input the value\n"); scanf("%d",&val); for(i=0; i<n; i++){ pTemp = pTemp->pNext; } pNODE pInsert = (pNODE)malloc(sizeof(NODE)); if(pInsert == NULL){ printf("Fail to set memory\n"); return; } pHead->data +=1; pInsert->data = val; pInsert->pNext = pTemp->pNext; pTemp->pNext = pInsert; return;}/** **************************************************************************** * @brief DeleteNode * @param [in]pHead * @return none * @note ***************************************************************************** */void DeleteNode(pNODE pHead){ int i,n,val; pNODE pTemp = pHead; pNODE pDel = pTemp->pNext; printf("Which node do you want to delete?1~%d \n",pHead->data); scanf("%d",&n); if(n > pHead->data){ printf("The number is over range\n"); return; } for(i=0; i<n-1; i++) { pTemp = pTemp->pNext; pDel = pDel->pNext; } pHead->data -=1; pTemp->pNext = pDel->pNext;}/** **************************************************************************** * @brief SearchNode * @param[in] pHead * @return none * @note ***************************************************************************** */void SearchNode(pNODE pHead){ int i,n; pNODE pTemp = pHead; printf("Which node do you want to Search?1~%d \n",pHead->data); scanf("%d",&n); if(n > pHead->data){ printf("The number is over range\n"); return; } for(i=0; i<n; i++) { pTemp = pTemp->pNext; } printf("Value of the NODE is %d\n",pTemp->data);}
0 0
- 简单的单链表实现 c
- C:单链表的简单实现
- 单链表的C语言简单实现
- 简单单链表的实现—C语言
- c语言对简单单链表的实现
- 【C】单链表的简单实现和应用!!!
- C语言实现单链表的简单操作
- [数据结构]单链表C语言的简单实现
- c库函数的简单实现
- C 实现简单的栈
- C语言实现简单单链表
- c语言实现简单单链表
- 一个简单的C单链表实现和错误总结
- C语言实现单链表的简单操作【完整版】
- 单链表的简单实现——C语言
- 一个简单的http_server的c实现
- C程序简单实现哈夫曼树的编码
- 用C实现简单的EPO
- WEB项目之 Token防止表单重复 anti csrf攻击
- BadTokenException ,popuwindow不是在activcity显示时的崩溃
- 支付宝支付和微信支付的记录和总结
- ubuntu+eclipse测试opengl(glut和glfw)
- java程序 记事本
- C:单链表的简单实现
- chapter6——输入n个字符串,按由小到大顺序输出
- 全排列
- Hrbust 1143 (bfs)
- 状态模式
- FreeMarker 指令
- webview的使用
- 在maven中添加依赖,把自己写的插件
- linux基础入门学习