ВУЗ:
Составители:
Рубрика:
33
Если k=1|2, то
[key1,val1,key2,val2,...,keyN,valN]
Если Вы хотите представить таблицу в виде списка списков,
не сортируя, сделайте нечто подобное следующему:
tab1:=table()
s:="Я не хочу тебя видеть, пока ты не умоешься!"
every i:=1 to *s & x:=s[i] do {
/tab1[x]:=[]
put(Tab1[x],i)
}
list1:=[]
# list1 будет содержать ключ-символ в качестве первого
элемента
# и список(!) номеров позиций его вхождения в строку в ка-
честве следующих
# элементов
.
every list1:=[k:=key(Tab1),tab1[k]] do
{
every el:=!list1 do every WWrites(" ",!el)
WWrite()
}
WDone()
End
Для символа 'т', например, получите: т 11 20 29
7.3. Некоторые другие функции
copy(tab) – создает копию таблицы.
delete(tab,x) – удаляет из таблицы ключ вместе со значением.
insert(tab,x,y) то же, что и T[x]:=y.
member(tab,x) – проверка, является ли x ключом в tab.
34
8. Множества
Мы уже познакомились с объектами типа множество, рас-
сматривая символьные множества. Множество в Icon'е – неупоря-
доченная «коллекция» объектов без дублирования. Если Вы пы-
таетесь включить уже существующий объект, он просто не вклю-
чится. Операции над множествами мы тоже рассмотрели.
Остается познакомиться с функциями, ориентированными
на роботу со множествами.
copy(S) – создает копию
множества S.
delete(S,x) – удаляет элемент x.
insert(S,x) – включает x.
member(S,x) – проверяет на принадлежность элемента x
множеству S.
set() – создает пустое множество.
set(L) – создает множество из элементов списка L.
sort(S) – создает список из множества S. Однотипные эле-
менты собираются вместе и располагаются в порядке создания.
sortf(S,i) – то же самое, только записи и списки сортируются
по i-м полям.
Если k=1|2, то 8. Множества
[key1,val1,key2,val2,...,keyN,valN]
Мы уже познакомились с объектами типа множество, рас-
Если Вы хотите представить таблицу в виде списка списков, сматривая символьные множества. Множество в Icon'е – неупоря-
не сортируя, сделайте нечто подобное следующему: доченная «коллекция» объектов без дублирования. Если Вы пы-
tab1:=table() таетесь включить уже существующий объект, он просто не вклю-
s:="Я не хочу тебя видеть, пока ты не умоешься!" чится. Операции над множествами мы тоже рассмотрели.
every i:=1 to *s & x:=s[i] do { Остается познакомиться с функциями, ориентированными
/tab1[x]:=[] на роботу со множествами.
put(Tab1[x],i) copy(S) – создает копию множества S.
} delete(S,x) – удаляет элемент x.
list1:=[] insert(S,x) – включает x.
# list1 будет содержать ключ-символ в качестве первого member(S,x) – проверяет на принадлежность элемента x
элемента множеству S.
# и список(!) номеров позиций его вхождения в строку в ка- set() – создает пустое множество.
честве следующих set(L) – создает множество из элементов списка L.
# элементов. sort(S) – создает список из множества S. Однотипные эле-
every list1:=[k:=key(Tab1),tab1[k]] do менты собираются вместе и располагаются в порядке создания.
{ sortf(S,i) – то же самое, только записи и списки сортируются
every el:=!list1 do every WWrites(" ",!el) по i-м полям.
WWrite()
}
WDone()
End
Для символа 'т', например, получите: т 11 20 29
7.3. Некоторые другие функции
copy(tab) – создает копию таблицы.
delete(tab,x) – удаляет из таблицы ключ вместе со значением.
insert(tab,x,y) то же, что и T[x]:=y.
member(tab,x) – проверка, является ли x ключом в tab.
33 34
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »
