2010-03-01 5 views
2

행렬의 요소를 제거 :삽입하고 난 다음 구현을 요청 질문이 할당이

insertAtRanks(Integer x, Integer y, Object o): insert a new element to be stored at position (x,y) 

Object removeAtRanks(Integer x, Integer y): remove and return the element at position (x,y) 
그것은 이미 replaceAtRanks의 이행을 요구

어디 위치 안의 요소를 매개 변수로 대체해야했습니다.

그래서 요소를 삽입하고 제거 할 때 매트릭스가 증가하고 크기는 줄지 만, 내 질문은 어떻게됩니까? 예를

| 3 6| 
| 2 5| 

나는 위치 (1,1)에 삽입 8 번을해야한다면 다음과 같은 일이 일어날를 들어

?

| 3 6| 
| 2 8| 
| null 5| 

그리고 (1,1)에서 요소를 제거해야한다면 다시 이동하겠습니까?

| 3 6| 
| 2 5| 

편집 :

I는 자바 구현을 이용하고, I 및 매트릭스를 나타내는 클래스의 2 차원 배열을 사용하고있다.

+0

+1 숙제 문제라는 것을 솔직하게 말하고, 과제의 어떤 부분에 문제가 있는지 정확히 나타내려면 – Kena

+1

입니다. 이는 아마도 여러분에게 달려 있거나 강사에게 질문해야하는 구현 결정 일 것입니다. 그들이 지정하지 않으면, 아마 당신이 적합하다고 생각하는 방식으로 구현하기를 원할 것입니다. (당신의 현재 생각은 괜찮습니다. 그런데 관련 행/열에 널 (null)이 있으면 제거 _ 제거 만 _ 제거하면됩니다.) –

답변

1
|3 6| 
|null 8| 
|2 5| 

또는

|3 6| 
|0 8| 
|2 5| 

또는

|3 6| 
|2 8| 

또는 여러 다른 형태의 대안으로 자신을 제안한다. 내 생각에 당신은 구현하라는 요구를 결정하고 구현해야한다고 생각합니다. 나는 당신이 어떤 언어를 사용 모르겠지만, 그것이 있어야

0

뭔가 같은 :

  • 빈 값으로 새 행을 삽입 I = newSizeOnX 내가 X (당신의 행)에 도달 할 때까지에 대한
  • i가 감소 할 때 행 (m [i + 1] = [i])
  • 다음에 m [x] [y] 위치에 객체를 삽입하고 나머지를 채우십시오. m [x] [y '] (모두 y'! = y)
0

어느 시점까지, 이것은 사양의 문제입니다. 정상적인 시스템에서

, 당신이 할 수 중 하나

  • 하는 것은 금지 예외로 이러한 경우를 취급하고
  • 특정 미리 정해진 동작을 정의 일어나는 경우 오류 또는 경고를 반환하기로 결정, 그 일치 구현하고 명확하게 문서화 한 모든 기능에 대해

예를 들어 행렬을 0으로 채우거나 첫 번째로 채우지 않는 것이 첫 번째 문제를 처리하는 일반적인 방법 중 하나입니다.Matlab은 기본적으로 어떻게 처리합니까?

또한 응용 프로그램에 따라 다릅니다. 예를 들어 이미지로 작업하는 경우 대부분의 경우 원본 이미지 크기를 초과하지 않으려 고합니다. 사운드로 작업하는 경우, 데이터 시퀀스를 확장 할 때 기본적으로 무음을 삽입하는 것이 좋습니다. 귀하의 신청서에 가장 적합한 것은 무엇입니까?

관련 문제