55. 链表节点排序
来源:互联网 发布:js种replace方法 编辑:程序博客网 时间:2024/05/13 09:48
请编写函数 sortlist,按照成员data的数值从大到小的顺序建立带有表头结点的链表,且链表中不能有重复的数据。
已知定义如下:
struct node
{ int data;
struct node * next;
};
typedef struct node NODE;
typedef struct node * PNODE;
函数原型 sortlist( PNODE h, int num ) 的参数含义如下:
h :单链表的头指针
num :新输入的需要插入链表中的数据
注意:仅提交自编的sortlist函数,不提交main函数。
预设代码如下
/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include "stdio.h" #include "stdlib.h" struct node { int data; struct node * next; } ; typedef struct node NODE; typedef struct node * PNODE; int main( ) { int num=1; PNODE head; void sortlist( ), outlist( ); head = ( PNODE )malloc( sizeof(NODE) ); head->next = NULL; head->data = -1; while( num!=0 ) { scanf( "%d", &num ) ; if( num!=0 ) sortlist( head , num ) ; } outlist( head ) ; return 0; } void outlist( PNODE head ) { PNODE p; p = head->next; while( p != NULL ) { printf("%d\n", p->data); p = p->next; } } /* This is an example for list. Please programme your code like it. void sortlist( PNODE h, int num ) { } *//* PRESET CODE END - NEVER TOUCH CODE ABOVE */
下面是我的程序:其实就是有序的插入算法,重复数据不能加入
/*有序的插入 数据不重复 重复数据不加入*/void sortlist( PNODE h, int num ) { PNODE t1;PNODE t2,t3;t1 = t2 = h;while((t2=t1->next)!=NULL){if(t2->data == num) break;else if(t2->data < num){t3 = (PNODE)malloc(sizeof(NODE));t3->data = num;t1->next = t3;t3->next = t2;}else{t1=t1->next;} }if(t2==NULL){t3 = (PNODE)malloc(sizeof(NODE));t3->data = num;t3->next = NULL;t1->next = t3;}}
- 55. 链表节点排序
- 删除排序链表的重复节点
- 判断链表是否为空、求链表长度、插入新节点、删除节点、链表排序
- 单向链表--初始化、添加删除节点、排序链表
- 链表的总结(链表排序、翻转、删除节点)
- 两种方法实现链表的节点操作排序
- 链表的快速排序(递归,交换节点数据)
- 链表的冒泡排序(节点交换法)
- LeetCode 刷题: 删除已排序链表中的重复节点
- [算法练习]逆置链表,链表排序,删除节点
- 删除排序链表的所有重复节点
- 算法面试:单向链表节点的奇偶排序。
- 删除排序链表的的重复节点
- 带头节点链表之插入排序(C语言版)
- 合并两个排序的链表及简单链表的一些操作(添加节点、删除节点)
- 链表面试题(二):冒泡排序、合并两个有序链表、查找中间节点、查找倒数K个节点
- 双向链表 删除节点 插入节点
- 循环链表(2) - 插入节点至已排序链表
- 使用内存映射文件加快读取大文件的速度 .
- 电子电路设计之工控设备抗干扰总结(单片机电路及PCB设计注意)
- HttpSession
- 对象引用与对象的区别
- 关于schedule_timeout
- 55. 链表节点排序
- Unable to locate tools.jar. Expected to find it in C:/Program Files/Java/jre
- mysql一些语句- 不知道那位仁兄搞得
- NSSet NSArray的区别 实际用法 IOS
- ubuntu12.04 登陆不了
- 关于线程信号量的一段小代码
- HTML中的关于文字的上、下标的问题
- tortoiseSVN的安装
- maemo中基于Gstreamer的摄像头控制实例