1 Fazer um programa que busca/insere/remove inteiros em um vetor (mantendo-o
sempre ordenado). Pergunta ao usurio o que ele quer fazer ! " inserir l# um int e insere no vetor (se ele ainda n$o estiver no vetor)% e em seguida% envia os dados para um arquivo. ! 1 buscar l# um int e busca no vetor (diz se ac&ou ou n$o% e em caso positivo informar as posi'(es - o )ndice) ! * remover l# um int e remove do vetor% caso e+ista ! , imprimir l# o arquivo em disco e imprime os elementos do vetor ! - sair sai do programa Obs: As operaes de inserir/remover devem manter o vetor ordenado o tempo todo * .imule o algoritmo /nsertion.ort / .election.ort com entrada (0% ,% 1% 2% *% -% 1% 12% ,0% *1% 32% 11"% 14% 1""). , 5 ob6etivo deste e+erc)cio-programa 7 o de implementar e estudar o comportamento m7dio dos algoritmos de ordena'$o. 8evem ser considerados 1) 5rdena'$o por /nser'$o *) 5rdena'$o 9ubblesort ,) 5rdena'$o por .ele'$o .imples -) :uic;sort 2) <ergesort =oc# deve construir um programa (em >) para testar a efici#ncia m7dia dos algoritmos acima. :ueremos saber quantas compara'(es% quantas trocas e quanto tempo cada um dos 0 algoritmos acima precisa% em m7dia% para ordenar vrios vetores de taman&o n% escol&idos aleatoriamente. Para isso seu programa deve 1 - /nicialmente preenc&er um vetor de n?meros inteiros aleatoriamente% * - 5rdenar o mesmo vetor uma vez com cada um dos 0 algoritmos acima. , - >ontar% para cada algoritmo% o n?mero de compara'(es e trocas realizadas% - - >ronometrar o tempo que cada algoritmo gasta. 5 ideal 7 rodar vrias vezes para cada valor de n os algoritmos% de modo a considerar uma estat)stica de e+ecu'$o% principalmente para valores de n pequenos. @ste processo deve ser repetido para valores de n crescentes. Atilize seu bom senso para determinar quantas vezes repetir cada teste e at7 que valor de n c&egar. Ama regra razovel 7 n$o utilizar mais do que 2 minutos de tempo de e+ecu'$o no total para todos os testes efetuados. 5bserve empiricamente como os resultados teBricos se verificam na prtica. @ntregue% al7m do programa% um relatBrio do seu programa que cont7m as seguintes informa'(es 1) 5 n?mero de testes realizados para cada valor de n. *) 5 tempo m7dio calculado para cada algoritmo para cada valor de n. ,) 5 n?mero m7dio de compara'(es realizadas para cada algoritmo para cada valor de n. -) 5 n?mero m7dio de trocas realizadas para cada algoritmo para cada valor de n. >omente tamb7m as suas conclus(es a respeito de 1) C ordem do tempo de processamento de cada algoritmo no caso m7dio (para valores relativamente grandes de n). ,) C rela'$o entre o n?mero de compara'(es% n?mero de trocas e o tempo gasto por cada algoritmo. 5u se6a% a contagem destas opera'(es bsicas 7 uma boa maneira de se classificar o tempo do algoritmoD Para realizar medies de tempo, use as funes da biblioteca padro time!: