【练习题】编写打印出一个单链表的所有元素的程序【链表】

只是实现了链表ADT的部分功能。

/*---编写打印出一个单链表的所有元素的程序---*/
#include <stdio.h>
#include <stdlib.h>

struct Node{
	int val;
	struct Node *next;
};

Node *findEnd(Node *list){
	while(list->next) list = list->next;
	return list;
}

void insert(int val, Node *list){
	Node *p = (Node *)malloc(sizeof(Node));
	p->val = val; p->next = NULL;
	Node *end = findEnd(list);
	end->next = p;
}

int main(){
	Node *list = (Node *)malloc(sizeof(Node)), *p;
	list->next = NULL;
	int a;
	while(scanf("%d", &a) == 1)
		insert(a, list);
	p = list->next;
	while(p){
		printf("%d ", p->val);
		p = p->next;
	}
	return 0;
}

【练习题】编写打印出一个单链表的所有元素的程序【链表】,布布扣,bubuko.com

时间: 2024-08-06 20:07:23

【练习题】编写打印出一个单链表的所有元素的程序【链表】的相关文章

输入一个维度,逆时针打印出一个指定的矩阵

题目:用户给定一个维度,打印出指定的一个矩阵,例如用户给定10,输出应该如下图所示: 程序如下: #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; int startx, starty, endx, endy; int i, j, value = 0; printf("Please input dimension:"); scanf("%d",

java用星星符号打印出一个直角三角形

1 package debug; 2 3 public class Demo10 { 4 public static void main(String[] args) { 5 //用星星符号打印出一个直角三角形 6 for(int i=1;i<=5;i++) { 7 //每一列打印的星星个数跟行数相同 ,所以在下面for循环中将条件中最大值设置为行数 8 for(int j=1;j<=i;j++) { 9 System.out.print("*"); 10 } 11 Sys

SAP打印出库单需求

*&---------------------------------------------------------------------* *& Report  Z_SD_CKD *& *&---------------------------------------------------------------------* *&产品出库单 *& *&---------------------------------------------

如何用一层for循环打印出一个二维数组

常规通过两层for循环可以比较轻松打印二维数组. 代码如下: #include <stdio.h> #define ROWS 3 #define COLS 3 int main() { int a[ROWS][COLS]={1,2,3,4,5,6,7,8,9}; for(int i=0;i<ROWS;i++) { for(int j=0;j<COLS;j++) printf("%d ",a[i][j]); printf("\n"); } re

使用递归法打印出一个目录里的所有文件

import java.io.File; public class ExFile{ public void ff(String s){ try{ File fl=new File(s); fl.createNewFile(); String[] a=fl.list(); //for(int i=0;i<a.length;i++){ // System.out.println(a[i]);} for(int i=0;i<a.length;i++){ File fl1=new File(s,a[i

sql 打印出一个图形

输出示例 * * * * * * * * * * * * * * * 代码如下: SELECT RPAD('*',LEVEL*2,' *') as ilteris_mutlu FROM dual CONNECT BY LEVEL <=20ORDER BY 1 DESC;

十二个球中挑出一个球出来(智力题费程序)

有十二个球,形状,颜色,大小等完全一样,看不出区别.只有一个球的质量与其他球不同(其他十一个球的质量相同).给你一架两边是托盘的天平,让你称三次,找出这个球,并且要弄清它的质量比其他球重还是轻.图解

漫谈程序员系列:3D打印能打印出程序猿吗

首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道,我要重复星爷在<喜剧之王>里的台词:其实,我是一本正经的喷子. 3D打印的定义 关于3D打印,下面是来自百度百科的解释: " 3D打印,即快速成型技术的一种,它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术.    3D打印通常是采用数字技术材料打印机来实现的.常在模具制造.工业设计等领域被用于制造模型,后逐渐用于一些产品的直接制造,已经有使用这种技术打

怎样写出一个较好的高速排序程序

写出一个较好的高速排序程序 高速排序是经常使用的排序算法之中的一个,但要想写出一个又快又准的使用程序,就不是那么简单了 须要注意的事项 首先要写正确.通常使用递归实现.其递归相当于二叉树展开,因此假设要用迭代实现的话须要使用一个队列来保存兴许遍历信息. 高速排序须要找到一个pivot值,假设顺序选择pivot则易造成N^2的复杂度,假设使用随机数则效果最好,但开销又太大,採取三数中值法比較合适.三数中值法指的是选取第一个值,最后一个值,数组中间的值的中值.有文献表明能够提升5%的执行时间. 当数