1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Нужно Оптимизировать Параметр

Тема в разделе "C/C++/C#", создана пользователем -, 25 янв 2012.

Наш партнер Genesis Hackspace
  1. Гость

    есть код программы. нужно выполнить оптимизировать РОР. как сделать? обращение идет один раз. соотвественно можно сократить время на выполнение но не знаю как. (в конце программы указано)
    вот собственно:
    #include "stdafx.h"
    #include <stdlib.h>
    #include <iostream>
    using namespace std;


    struct elem{
    int inf;
    struct elem *link;
    } *top=NULL;

    void Push(int val){
    struct elem *p=new elem;
    p->inf=val;
    p->link=top;
    top=p;
    }

    int Pop(){
    struct elem *p;
    int temp;
    temp=top->inf;
    p=top;
    top=p->link;
    delete p;
    return temp;
    }

    void Print(){
    struct elem *tmp;
    tmp=top;
    while(tmp!=NULL){
    printf("Value=%d\n",tmp->inf);
    tmp=tmp->link;
    }
    }

    void Swop(){
    struct elem *tmp;
    tmp=top;
    int tempval=0;
    while(tmp!=NULL){
    if(tmp->link==NULL){
    tempval=tmp->inf;
    tmp->inf=top->inf;
    top->inf=tempval;
    }
    tmp=tmp->link;
    }
    }

    int main(int argc, char** argv) {
    int i=0;
    for(i=0;i<5;i++)Push(i);
    printf("ishodny spisok:\n");
    Print();

    for(int j=i;j<i+2;j++)Push(j);
    printf("dabavili 2 elementa:\n");
    Print();

    printf("menayem perviy i posledniy mestami:\n");
    Swop();
    Print();

    printf("udalyaem 3 pervih elementa:\n");
    for(i=0;i<3;i++)Pop(); //нужно оптимизироватьPOP как?
    Print();
    return 0;
    }
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    1. Отредактируй сообщение и вставь код в тэг С++.
    2. "обращение идет один раз" - обращение идет три раза.
     
  3. overbest

    overbest Гость

    чесно говоря не уверен, но возможно вот такой вариант подойдет
    Код (C++):
    int Pop()
    {
    struct elem *p;
    p=top;
    top=p->link;
    return p->inf;
    }
    в итоге избавляемся от переменной temp, и строки с удалением, а переменная p должна удалиться при выходе из процедуры т.к она локальная.
     
Загрузка...
Похожие Темы - Нужно Оптимизировать Параметр
  1. nujencod
    Ответов:
    0
    Просмотров:
    45
  2. ArtyomHC
    Ответов:
    12
    Просмотров:
    351
  3. Саша Зеленюк
    Ответов:
    1
    Просмотров:
    177
  4. Bafomet
    Ответов:
    3
    Просмотров:
    171
  5. MaxP
    Ответов:
    1
    Просмотров:
    272

Поделиться этой страницей