Программирование на языках высокого уровня

Автор работы: Пользователь скрыл имя, 22 Октября 2010 в 13:05, Не определен

Описание работы

Лабораторная работа

Файлы: 1 файл

Программирование на языках высокого уровня ч2.doc

— 103.00 Кб (Скачать файл)

15 

/*

struct list

{

      int value;

      struct list *next;

};

list *hear=NULL;

int count=0; 

//void show 

void show(struct cell *p)

{

      if (p==NULL)

      {

            printf("\nEND");

            return;

      }

      printf("\nadress=%p\tvalue=%d",p,p->value);

      output(p->pc);

} 
 
 

void add_head (long value)

{

      count++;

      list *old_head=head;

      head=(struct list *)malloc(sizeof(struct list));

      head->next=old_old_head;

      head->value=value;

} 
 

void insert (int pos,long value)

{

      list *target;

      list *old_next;

      int i=0;

      if(head!=NULL)

      {

            target=head;

            while((i<pos)&&(target!=NULL))

            {

                  target=target->next;

                  i++;

            }

            if(i!=pos) return;

            old_next=target->next;

            target=target->next=(struct list *)malloc(sizeof(struct list));

            target->value=value;

            target->next=old_next;

            count+;

      }

      else

      {

            target=head=(struct list *)malloc(sizeof(struct list));

            target->next=NULL;

            target->value=value;

            count+;

      }

} 
 

void delete_any (int pos)

{

      if(pos<0) return;

      list *previous;

      int i=0;

      if(head!=NULL)

      {

            if(pos==0)

            {

                  list *next_item=head->next;

                  free(head);

                  head=next_item;

            }

            else

            {

                  previous=head;

                  pos--;

                  while((i<pos)&&(previous!=NULL))

                  {

                        previous=previous->next;

                        i++;

                  }

                  if(i!=pos) return;

                  list *next_item=previous->next->next;

                  free(previous->next);

                  previous->next=next_item;

            }

}

*/ 
 

16

Информация о работе Программирование на языках высокого уровня