链表(线性表)
来源:互联网 发布:剑三成男痞气捏脸数据 编辑:程序博客网 时间:2024/05/16 04:54
#include <iostream>using namespace std;struct number{int num;number *next;};number *creatlink(number *head,int n);number *sort1(number *head,int k);number *sort2(number *head,int t,int n);void print(number *head,int n);int main(){ int m,n;number *head;head=NULL;cin>>n;head=creatlink(head,n);cin>>m; sort1(head,m); sort2(head,m,n); return 0;}number *creatlink(number *head,int n){int i; number *p,*s;p=head;for(i=0;i<n;i++){ s=new number; cin>>s->num; if(head==NULL) head=s; else p->next=s; p=s;}p->next=NULL; return (head);}number *sort1(number *head,int k)//da{ int a=0; number *p,*s; p=head; s=head->next; while(s!=NULL) { if(s->num>k&&s->num>p->num) a++; p=s; s=s->next; } cout<<a<<endl; return (head);}number *sort2(number *head,int t,int n)//xiao{ int i=1,j,k;number *p,*s;p=s=head;while(i<n){s=s->next;i++;}k=s->num;if(t<=k){for(i=0;i<n;i++){if((p->num)>=t){j=i;break;} p=p->next;}} else j=n;print(head,j);return (head);}void print(number *head,int n){ number *p; int i=1; p=head; if(n==1) cout<<p->num<<' '; else {while(i<n) {p=p->next; i++; } cout<<p->num<<' '; print(head,n-1); }}
Description
(线性表)设有一个正整数序列组成的有序单链表(按递增次序有序,且允许有相等的整数存在),试编写能实现下列功能的算法 :(要求用最少的时间和最小的空间)
(1)确定在序列中比正整数x大的数有几个(相同的数只计算一次);
(2) 在单链表将比正整数x小的数按递减次序排列;
Input
输入长度:13
输入数据:4 5 7 7 8 10 11 15 15 16 17 20 20
输入x:10
Output
5
8 7 7 5 4
Sample Input
7
1 2 3 4 5 6 6
4
Sample Output
2
3 2 1
0 0
- 链表-线性链表
- 数据结构-线性表-链表
- 线性表--- 链表
- 线性表--链表
- 数据结构-线性表-链表
- 线性表-链表
- 链表(线性表)
- 链表(线性表)
- 链表(线性表)
- 链表(线性表)
- 线性表、链表、哈希表
- 线性表--链表
- 线性表-链表
- 线性表(链表)
- 线性表02:链表
- 线性表,链表
- 线性表(链表)
- 数据结构 线性表/链表
- 浅谈JAVA中如何利用socket进行网络编程(二)
- 逆置线性表(线性表)
- 面向对象的特征有哪些方面
- 一步步学习微软InfoPath2010和SP2010--第十一章节--创建审批流程(11)--关键点
- C语言声明及typedef常见用法
- 链表(线性表)
- DM8168硬件调试-GPIO
- SQL Server 2005无法远程连接的解决方法
- Lagrange插值公式
- 培养终身阅读习惯的12种方法
- 链表插入(线性表)
- 第三周作业
- sicilyOJ 11中大预选赛 D Minimum Labeled Spanning Tree
- Shut the Box HDU4212