Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
level3-lesson16-diy2
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f796c92c
authored
2 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
1b66f268
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
8 deletions
my_search.py
my_search.py
View file @
f796c92c
import
random
# 使用二分查找法,找出9和20在列表里面的索引
num_list
=
[
1
,
3
,
5
,
8
,
11
,
15
,
17
,
18
,
20
,
21
]
testList
=
[
1371
,
102841
,
1324
,
124
,
5432
,
124
,
20
,
9
]
alist
=
[]
for
i
in
range
(
1
,
101
):
alist
.
append
(
i
)
num
=
random
.
choice
(
alist
)
# 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置
def
binary_search
(
alist
,
num
):
def
BubbleSort
(
varList
):
\ No newline at end of file
secondList
=
varList
for
i
in
range
(
0
,
len
(
secondList
)
-
1
):
for
index
in
range
(
0
,
len
(
secondList
)
-
1
):
if
secondList
[
index
]
>
secondList
[
index
+
1
]:
secondList
[
index
],
secondList
[
index
+
1
]
=
secondList
[
index
+
1
],
secondList
[
index
]
return
secondList
def
BinarySearch
(
findNum
,
searchList
):
searchList
=
BubbleSort
(
searchList
)
high
=
len
(
searchList
)
-
1
low
=
0
while
high
>=
low
:
mid
=
(
high
+
low
)
//
2
num
=
searchList
[
mid
]
if
num
==
findNum
:
return
mid
elif
num
>=
findNum
:
high
=
mid
-
1
else
:
low
=
mid
+
1
return
None
print
(
BinarySearch
(
9
,
testList
))
print
(
BinarySearch
(
20
,
testList
))
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment