链表常见操作练习
来源:互联网 发布:大华股份 人工智能 编辑:程序博客网 时间:2024/06/06 00:50
链表是一个很重要的数据结构,一直没有好好的写过练习,这次放假,
好好练习一下。
1、定义链表节点
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef struct Int_Node {
int data; //数据
struct Int_Node * next; //指向下一个节点
}Node;
2、合并两个有序链表
//版本1
Node* Merge(Node *p, Node *q){
Node *head, *tmp;
assert(p && q);
if(p->data <= q->data){
head = tmp = p;
p = p->next;
}else{
head = tmp = q;
q = q->next;
}
while(p && q){
if(p->data <= q->data){
tmp->next = p;
tmp = p;
p = p->next;
}else{
tmp->next = q;
tmp = q;
q = q->next;
}
}
if(p){
tmp->next = p;
}
if(q){
tmp->next = q;
}
return head;
}
//版本2
Node* Merge2(Node *p, Node *q){
Node *head = NULL,
*tmp = NULL,
*cur = NULL;
while(p && q){
if(p->data <= q->data){
cur = p;
p = p->next;
}else{
cur = q;
q = q->next;
}
if(NULL == head){
head = tmp = cur;
}else{
tmp->next = cur;
tmp = cur;
}
}
if(NULL == p){
tmp->next = q;
}else{
tmp->next = p;
}
return head;
}
- 链表常见操作练习
- 链表操作练习
- 链表常见操作
- 常见链表操作
- 链表常见操作
- JQuery 常见DOM操作练习1
- JQuery 常见DOM操作练习2
- 字符串一些常见的练习操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表的常见操作
- 链表常见操作算法
- 冒泡排序源代码
- Servlet中文乱码解决方案
- 网页设计之css+div PK table+css
- ASP操作EXCEL
- Flex应用现状
- 链表常见操作练习
- ERIC的BLOG开通啦!~
- gb2312----> utf-8
- 《计算机网络》基础知识复习
- XML--DOM
- Axure RP Pro - 相关问题 - 模拟加法运算
- 新手教程:JUnit入门
- 十款PHP开发框架横向比较
- Java的动态代理机制