Dunque ... cè qualcuno che mi sappia dire solamente quali sono il 2 linguaggi di programmazione piu' diffusi su Pc?? adatti (nel caso mio) alla creazione di Demo ???
scusate il disturbo per questa domanda banale .
Grazie!
Danyblu ha scritto:Dunque ... cè qualcuno che mi sappia dire solamente quali sono il 2 linguaggi di programmazione piu' diffusi su Pc?? adatti (nel caso mio) alla creazione di Demo ???
Danyblu ha scritto:ok grazie! Si difatti mi era gia stato consigliato i C++ da un amico , era giusto per avere un'idea di quale fosse il piu' diffuso. Ciao!
riko ha scritto:[snip]....
Poi volendo c'è Prolog. A modo suo geniale. Ma se mi provocate sui linguaggi
posso parlare per delle ore (sono una mia piccola passione).
ncc-1700 ha scritto:Parla, parla pure, su questo argomento ti starei ad ascoltare settimane.....
quicksort([], []).
quicksort([Pivot|Tail], Sorted) :-
partition(Pivot, Tail, Smaller, Greater),
quicksort(Smaller, SmallerSorted),
quicksort(Greater, GreaterSorted),
append(SmallerSorted, [Pivot|GreaterSorted], Sorted).
partition(_, [], [], []).
partition(Pivot, [Head|Tail], [Head|Smaller], Greater) :-
Pivot > Head,
partition(Pivot, Tail, Smaller, Greater).
partition(Pivot, [Head|Tail], Smaller, [Head|Greater]) :-
Pivot =< Head,
partition(Pivot, Tail, Smaller, Greater).
def qsort(list)
return [] if list.empty?
qsort( list.select {|a| a < list[0]} ) +
list.select {|a| a == list[0]} +
qsort( list.select {|a| a > list[0]} )
end
import java.util.Arrays;
import java.util.Random;
public class QuickSort<E extends Comparable<E>> {
public static final Random RND = new Random();
private void swap(E[] array, int i, int j) {
E tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
private int partition(E[] array, int begin, int end) {
int index = begin + RND.nextInt(end - begin + 1);
E pivot = array[index];
swap(array, index, end);
for (int i = index = begin; i < end; ++i) {
if (array[i].compareTo(pivot) <= 0) {
swap(array, index++, i);
}
}
swap(array, index, end);
return (index);
}
private void qsort(E[] array, int begin, int end) {
if (end > begin) {
int index = partition(array, begin, end);
qsort(array, begin, index - 1);
qsort(array, index + 1, end);
}
}
public void sort(E[] array) {
qsort(array, 0, array.length - 1);
}
// Example uses
public static void main(String[] args) {
Integer[] l1 = { 5, 1024, 1, 88, 0, 1024 };
System.out.println("l1 start:" + Arrays.toString(l1));
QuickSort<Integer> qs = new QuickSort<Integer>();
qs.sort(l1);
System.out.println("l1 sorted:" + Arrays.toString(l1));
String[] l2 = { "gamma", "beta", "alpha", "zoolander" };
System.out.println("l2 start:" + Arrays.toString(l2));
QuickSort<String> qs2 = new QuickSort<String>();
qs2.sort(l2);
System.out.println("l2 sorted:" + Arrays.toString(l2));
}
}
;
; Usage: bc->first, de->last,
; call qsort
; Destroys: abcdefhl
;
qsort ld hl,0
push hl
qsloop ld h,b
ld l,c
or a
sbc hl,de
jp c,next1 ;loop until lo<hi
pop bc
ld a,b
or c
ret z ;bottom of stack
pop de
jp qsloop
next1 push de ;save hi,lo
push bc
ld a,(bc) ;pivot
ld h,a
dec bc
inc de
fleft inc bc ;do i++ while cur<piv
ld a,(bc)
cp h
jp c,fleft
fright dec de ;do i-- while cur>piv
ld a,(de)
ld l,a
ld a,h
cp l
jp c,fright
push hl ;save pivot
ld h,d ;exit if lo>hi
ld l,e
or a
sbc hl,bc
jp c,next2
ld a,(bc) ;swap (bc),(de)
ld h,a
ld a,(de)
ld (bc),a
ld a,h
ld (de),a
pop hl ;restore pivot
jp fleft
next2 pop hl ;restore pivot
pop hl ;pop lo
push bc ;stack=left-hi
ld b,h
ld c,l ;bc=lo,de=right
jp qsloop
static void swap(void *x, void *y, size_t l) {
char *a = x, *b = y, c;
while(l--) {
c = *a;
*a++ = *b;
*b++ = c;
}
}
static void sort(char *array, size_t size, int (*cmp)(void*,void*), int begin, int end) {
if (end > begin) {
void *pivot = array + begin;
int l = begin + size;
int r = end;
while(l < r) {
if (cmp(array+l,pivot) <= 0) {
l += size;
} else {
r -= size;
swap(array+l, array+r, size);
}
}
l -= size;
swap(array+begin, array+l, size);
sort(array, size, cmp, begin, l);
sort(array, size, cmp, r, end);
}
}
void qsort(void *array, size_t nitems, size_t size, int (*cmp)(void*,void*)) {
sort(array, size, cmp, 0, (nitems-1)*size);
}
ncc-1700 ha scritto:Grandissimo Riko, inventerei la notifica in modalità saccente di linguaggi per sapere quando ti scateni in questo modo, anzi, il tuo sito ha acquisito un indegno fan in più.
Ora vado a ripassare il codice assembly che hai scritto per il quick-sort.
riko ha scritto:Appena ho un po' di tempo, magari ci faccio su un bell'articolo in cui spiego un filino come funzionano, performances e tutto... bah, vediamo.
Torna a Tecnologia, internet, coding
Visitano il forum: Nessuno e 4 ospiti