无头单链表的创建,及无头单链表逆转
来源:互联网 发布:淘宝靠谱的韩代知乎 编辑:程序博客网 时间:2024/06/08 06:42
无头头插单链表:
#include <stdio.h>#include <stdlib.h>typedef struct person{ int age; struct person *next;}per;per *head_list(per *one,int num){ per *temp = (per *)malloc(sizeof(per)); temp->age = num; temp->next = one; return temp;}void show(per *head){ if(NULL == head) { return; } while(head) { printf("age is %d\n",head->age); head = head->next; }}int main(){ per *head = NULL; head = head_list(head,10); head = head_list(head,20); head = head_list(head,30); head = head_list(head,40); head = head_list(head,50); show(head); return 0;}
无头尾插单链表:
#include <stdio.h>#include <stdlib.h>typedef struct person{ int age; struct person *next;}per;per *tail_list(per *one, int num){ per *temp = (per *)malloc(sizeof(per)); temp->age = num; per *head = one; if(NULL == one) { return temp; } while(one->next) { one = one->next; } one->next = temp; return head;}void show(per *head){ if(NULL == head) { return; } while(head) { printf("age is %d\n",head->age); head = head->next; }}int main(){ per *head = NULL; head = tail_list(head,10); head = tail_list(head,20); head = tail_list(head,30); head = tail_list(head,40); head = tail_list(head,50); show(head); return 0;}无头头插单链表逆转
#include <stdio.h>#include <stdlib.h>typedef struct person{ int age; struct person *next;}per;per *head_list(per *one, int num){ per *temp = (per *)malloc(sizeof(per)); temp->age = num; temp->next = one; return temp;}per *reverse(per *head){ if(NULL == head) { return; } per *p,*q,*r; p = head; q = p->next; r = q->next; head->next = NULL; while(r) { q->next = p; p = q; q = r; r = r->next; } q->next = p; head = q; return head;}void show(per *head){ if(NULL == head) { return; } while(head) { printf("age is %d\n",head->age); head = head->next; }}int main(){ per *head = NULL; head = head_list(head,10); head = head_list(head,20); head = head_list(head,30); head = head_list(head,40); head = head_list(head,50); show(head); printf("==================\n"); head = reverse(head); show(head); return 0;}
无头尾插单链表逆转:
#include <stdio.h>#include <stdlib.h>typedef struct person{ int age; struct person *next;}per;per *tail_list(per *one, int num){ per *temp = (per *)malloc(sizeof(per)); temp->age = num; per *head = one; if(NULL == one) { return temp; } while(one->next) { one = one->next; } one->next = temp; return head;}per *reverse(per *head){ if(NULL == head) { return; } per *p, *q, *r; p = head; q = p->next; r = q->next; head->next = NULL; while(r) { q->next = p; p = q; q = r; r = r->next; } q->next = p; head = q; return head;}void show(per *head){ if(NULL == head) { return; } while(head) { printf("age is %d\n",head->age); head = head->next; }}int main(){ per *head = NULL; head = tail_list(head,10); head = tail_list(head,20); head = tail_list(head,30); head = tail_list(head,40); head = tail_list(head,50); show(head); printf("=================\n"); head = reverse(head); show(head); return 0;}
阅读全文
0 0
- 无头单链表的创建,及无头单链表逆转
- 有头单链表的创建 ,及有头单链表逆转
- 单链表的创建和逆转
- 链表的输入输出及逆转
- 单向链表的创建和逆转(完整程序)
- 单链表的创建,插入,删除以及就地逆转
- 单链表的创建、遍历、插入、删除、查找、逆转
- 单链表创建、输出、逆转、查询
- 逆转的街角
- 链表的逆转
- 单链表的逆转
- 苛刻的字符串逆转
- 单链表的逆转
- 单链表的逆转
- 链表的逆转
- 单链表的就地逆转
- 单链表的逆转
- 单链表的逆转实现
- springmvc数据验证
- python-安装easy_install和pip(win64位)
- jquery写的消息滚动条
- php发送post请求方法
- ks.cfg 文件参数讲解
- 无头单链表的创建,及无头单链表逆转
- stm32学习------stm32控制L298N电动机
- java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
- Java EE开发第三章:数据库开发之数据类型、约束和多表查询
- ToolBar+DrawerLayout+NavigationView
- 美团点评2017秋招笔试真题-运维工程师A
- Zip文件解析与利用
- Web 端 js 导出csv文件(使用a标签)
- 详解谷歌第二代TPU:功耗性能究竟如何?巨头想用它干什么?