Skip to content

Instantly share code, notes, and snippets.

Vasily Alferov vasalf

  • Saint Petersburg
Block or report user

Report or block vasalf

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@vasalf
vasalf / split.cpp
Created Nov 27, 2018
Split with pairs
View split.cpp
/*
void split(node *v, int x, node *&l, node *&r) {
if (!v) {
l = r = nullptr;
return;
}
if (x < v->x) {
split(v->R, x, v->R, r);
l = v;
View BenchDFS.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Algebra.Graph.AdjacencyMap
import Algebra.Graph.AdjacencyMap.Algorithm
import qualified Data.Map.Strict as Map
import qualified Data.Set as Set
@vasalf
vasalf / Loop.hs
Last active Aug 5, 2019
Loop monad for Haskell
View Loop.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
module Loop where
import Prelude hiding (break)
@vasalf
vasalf / Main.hs
Created Aug 9, 2019
BenchStars.hs
View Main.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Algebra.Graph.Bipartite.AdjacencyMap
import Control.Monad.Random
import Criterion.Main
import Control.Monad (foldM, replicateM)
import Data.Traversable (sequenceA)
@vasalf
vasalf / bash.md
Last active Sep 6, 2019
Кратко про bash
View bash.md

Краткий мануал по bash

NB: Это пересказ того, что было на паре, а на паре был очень краткий ликбез. Для полноты ощущений знаний рекомендуется пройти какой-нибудь более полный ликбез. Например, такой на двух языках висит в ссылках на вики в разделе «лекции».

Команды

Обычное соглашение про вызов команд в bash:

<команда> -<флаг> [значение] --<опция> [значение] <аргумент1> <аргумент2> ... <aргументN>
View 01_efficency.c
#include <stdio.h>
#include <string.h>
typedef struct {
int x;
float y;
char s[256];
} my_struct_t;
void f1(my_struct_t m) {
@vasalf
vasalf / practice.c
Created Oct 12, 2019
Практика 5': Упражнения на указатели
View practice.c
void task1() {
int x = 179;
int* p = &x;
int** n = malloc(sizeof(int*));
}
/*
Какой тип у выражений?
1. p
View 01_cli.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]) {
printf("argc: %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("argv[%d]: %s\n", i, argv[i]);
}
printf("\n");
@vasalf
vasalf / expat.c
Created Oct 18, 2019
Практика 7
View expat.c
#include <stdio.h>
#include <stddef.h>
#include <expat.h>
#define UNUSED(x) (void)(x)
#ifdef XML_UNICODE_WCHAR_T
# include <wchar.h>
# define XML_FMT_STR "ls"
#else
@vasalf
vasalf / vector.cpp
Created Nov 8, 2019
Практика 8
View vector.cpp
#include "vector.h"
vector_int::vector_int() {
size_ = 0;
capacity_ = 16;
data_ = new int[capacity_];
}
void vector_int::reserve(size_t new_size) {
if (new_size <= capacity_)
You can’t perform that action at this time.