Skip to content

Instantly share code, notes, and snippets.

Avatar

Vasily Alferov vasalf

  • Saint Petersburg
View GitHub Profile
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 / 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_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 / bash.md
Last active Sep 6, 2019
Кратко про bash
View bash.md

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

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

Команды

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

<команда> -<флаг> [значение] --<опция> [значение] <аргумент1> <аргумент2> ... <aргументN>
@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 / 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)
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 / 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;