建立一个带头结点的的单向链表并输出到out53.dat和屏幕上。各节点的值为对应的下表。链表的节点数及输出地文件名作为参数传入
2012-04-20 20:54
531 查看
#include<stdio.h> #include<stdlib.h> typedef struct ss { int data; struct ss *next; }NODE; void fun(int n,char *filename) { NODE *h, *p, *s ; FILE *pf; int i; h=p=(NODE *)malloc(sizeof(NODE)); h->data=0; for(i=1;i<n; i++) { s=(NODE *)malloc(sizeof(NODE)); s->data=i; p->next=s; p=s; } p->next=NULL; if((pf=fopen(filename,"w"))==NULL) { printf("Can not open out53.dat!"); exit(0); } p=h; fprintf(pf,"\n***THE LIST*** \n"); printf("\n***THE LIST*** \n"); while(p) { fprintf(pf,"%3d",p->data); printf("%3d",p->data); if(p->next!=NULL) { fprintf(pf,"->"); printf("->"); } p=p->next; } fprintf(pf,"\n"); printf("\n"); fclose(pf); p=h; while(p) { s=p; p=p->next; free(s); } } main() { char *filename="out53.dat"; int n; printf("\nInput n:"); scanf("%d",&n); fun(n,filename); }
相关文章推荐
- 建立一个简单的链表,它由三个学生数据的结点组成输出各节点中的数据。
- 给出一个单向链表的头指针,输出该链表中倒数第K个节点的指针
- 数据结构:设有一个不带头结点的单链表L,设计两个递归算法,del(L,x)删除单链表L中第一个值为x的节点,delall(L,x)删除单链表L中的最小节点值。
- 13.输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表 的尾指针
- 【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点
- 微软面试100题之13题:输入一个单向链表,输出该链表中倒数第k 个结点
- 面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- 给出一个单向链表的头指针,输出该链表中倒数第K个节点的指针
- 双链表的建立、求长、定位、插入、删除、输出和释放(带头结点且成环状)
- 从头到尾反向输出带头结点的单链表的每个节点的值
- 设ha和hb分别是两个带头节点的费递减有序单链表的表头指针,设计以算法,将将两个有序链表合成一个非递减的有序单链表,该程序以以前发表的博客中的链表中的区别在与该立案表带有头结点
- 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数将其返回。 ⑤ 建立两个
- 程序功能:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 输入一个单向链表,输出该链表中倒数第k个结点
- 微软算法100道题------输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 编写算法实现建立一个带头结点的含n个元素的双向循环链表H,并在链表H中的第i个位置插入一个元素e
- 【练习】输入一个单向链表,输出该链表中倒数第k 个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数