Q&A

  • 진짜 어려운 알고리즘~~...
안녕하세요..어린왕자입니다..

이구메..리스트뷰에서 소트를 하는데요..

칼럼의 순서가 바뀔때말이죠..칼럼의 타이틀(▲)을 바꿀려구 하는데...

생각보다 힘이 드네요..





procedure TQueryForm.ListView1ColumnClick(Sender: TObject;

Column: TListColumn);



의 칼럼클릭 이벤트 핸들러인데요..

Column이..이거참..첨에 만들어질때의 순서의 칼럼을 가리키더라구요..



그니깐 말이죠..



A,B,C이라는 순서였는데..

칼럼을 드래그 시켜 순서를 바꾸면 예로..

C,B,A라고 순서가 바꿨습니다..

글구 현재 3번째 칼럼인 A를 클릭을 하게 되면..



클릭이벤트 핸들러의 파라메타..Column이 이상한걸 가리켜버린다는거죠..

Column.Caption은 'C라고 나와 버립니다..

당근 Column.index두 0이라구 나오구요..



도움말을 봤는데...

칼럼드래그할때는 칼럼의 태그에 칼럼의 순서를 기억시키라고 나온거 같아요..



암튼 그래서..칼럼이 움직일때..즉 순서가 바뀔때..그것을 구하는 알고리즘을 짜야겠더라구요..

...............................................................................



본론으로 말하면 저가 생각해내야할 알고리즘은...

바로 이런거 입니다..



1,2,3,4,5 라는 순서열이 있다구 생각합시다..



근데 한숫자를 움직였습니다..

그래서 결과는..



2,3,1,4,5 가 되었습니다...



그러면 어떤 몇번째 숫자를 몇번째로 끼어넣을까요....



오늘의 문제 입니다..

이것을 풀수 있는 알고리즘좀 제시해 주세용~고수님덜..



From,To 의 위치...



고수님 어렵죠????

























0  COMMENTS