Upload New File
This commit is contained in:
		
							
								
								
									
										108
									
								
								chained_functions.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								chained_functions.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,108 @@
 | 
				
			|||||||
 | 
					#include "chained_functions.h"
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//for information purposes: mom== momentan ((;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					insertFirst (messdaten* firstelem, messdaten* newelement)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  newelement->next = firstelem;
 | 
				
			||||||
 | 
					  return newelement;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					insertLast (messdaten* firstelem, messdaten* newelement)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  messdaten * mom = firstelem;
 | 
				
			||||||
 | 
					  while (mom->next != NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      mom = mom->next;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  mom->next = newelement;
 | 
				
			||||||
 | 
					  newelement->next = NULL;
 | 
				
			||||||
 | 
					  return firstelem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					insertPos (messdaten* firstelem, messdaten* newelement, int pos)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  pos--;
 | 
				
			||||||
 | 
					  messdaten * mom = firstelem;
 | 
				
			||||||
 | 
					  int n = 0;
 | 
				
			||||||
 | 
					  while (mom->next != NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (n == pos)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						  newelement->next = mom->next;
 | 
				
			||||||
 | 
						  mom->next = newelement;
 | 
				
			||||||
 | 
						  return firstelem;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					      n++;
 | 
				
			||||||
 | 
					      mom = mom->next;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  fprintf (stderr, "failed to allocate list element!!");
 | 
				
			||||||
 | 
					  return firstelem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					deleteFirst (messdaten* firstelem)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  messdaten * temp = firstelem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  temp = firstelem->next;
 | 
				
			||||||
 | 
					  free (firstelem);
 | 
				
			||||||
 | 
					  return temp;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					deleteLast (messdaten* firstelem)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  messdaten * mom = firstelem;
 | 
				
			||||||
 | 
					  messdaten * temp = NULL;
 | 
				
			||||||
 | 
					  while (mom->next != NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      temp = mom;
 | 
				
			||||||
 | 
					      mom = mom->next;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  free (temp->next);
 | 
				
			||||||
 | 
					  temp->next = NULL;
 | 
				
			||||||
 | 
					  return firstelem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					deletePos (messdaten* firstelem, int pos)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  pos--;
 | 
				
			||||||
 | 
					  messdaten * mom = firstelem;
 | 
				
			||||||
 | 
					  messdaten * temp = NULL;
 | 
				
			||||||
 | 
					  int n = 0;
 | 
				
			||||||
 | 
					  while (mom->next != NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (n == pos)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						  temp = mom->next;
 | 
				
			||||||
 | 
						  mom->next = mom->next->next;
 | 
				
			||||||
 | 
						  free (temp);
 | 
				
			||||||
 | 
						  return firstelem;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					      n++;
 | 
				
			||||||
 | 
					      mom = mom->next;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  printf ("failed to allocate list element!!");
 | 
				
			||||||
 | 
					  return firstelem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					messdaten*
 | 
				
			||||||
 | 
					deleteAll (messdaten* firstelem)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  messdaten * temp;
 | 
				
			||||||
 | 
					  while (firstelem != NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      temp = firstelem;
 | 
				
			||||||
 | 
					      firstelem = firstelem->next;
 | 
				
			||||||
 | 
					      free (temp);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  return firstelem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user