假设以带头结点的单链表表示有序表,单链表的类型定义如下: typedef struct node{ int data; struct node*next; }LinkNode,*LinkList; 编写算法,

admin2008-07-10  16

问题 假设以带头结点的单链表表示有序表,单链表的类型定义如下:
   typedef struct node{
     int data;
     struct node*next;
   }LinkNode,*LinkList;
   编写算法,输入n个整数构造一个元素值互不相同的递增有序链表(即相同的整数只取一
个)。算法的函数原型给定为
   LinkList f 34(int n);

选项

答案LinkList f 34(int n) { LinkList L,P,q,s; int e,i; L=(LinkList)malloe(sizeof(LinkNode)); L—>next=NULL; for(i=1;i<=n;i++){ seanf("%d",&e); p=L; q=p—>next; while(q&&q—>data<e){ p=q; q=q—>next; } if(!q||q—>data>e){ s=(LinkList)malloc(sizeof(LinkNode)); s—>data=e; s—>next=q; p—>next=s; } } return L; }

解析
转载请注明原文地址:https://kaotiyun.com/show/n5Ax777K
本试题收录于: 数据结构题库理工类分类
0

相关试题推荐
最新回复(0)