Java の関数への引数としてポインターへのポインターを渡すことができません。Java にはポインターがなく、代わりにオブジェクトへの参照を渡すことがわかっています。これがどのように行われるか知りたいです。疑問を解消するために、実装しているプログラムのコード スニペットを貼り付けます。
次のプログラムでは、メソッド「QuickSortRecur」からメソッド「Partition」を呼び出しています。ほとんどの場合、C で作業しているため、パラメーターnewHeadおよびnewEndをポインターとしてポインターに送信する方法がわかりません。
以下の行の C に相当するものについても言及しましたが、Java で同じものを実装する方法を知りたいだけですか?
ジャワ:
public ListNode Partition(ListNode lhead,ListNode lend,ListNode newHead,ListNode newEnd){
---------
---------
---------
}
public ListNode QuickSortRecur(ListNode lhead,ListNode lend){
ListNode newHead=null;
ListNode newEnd=null;
ListNode pivot;
pivot=Partition(lhead,lend,newHead,newEnd);
if(newHead==null)
{
System.out.println("This is not updated ");
}
}
C 上記の署名に相当するもの:
struct node *partition(struct node *head, struct node *end,
struct node **newHead, struct node **newEnd){
}
struct node *quickSortRecur(struct node *head, struct node *end)
{
struct node *pivot = partition(head, end, &newHead, &newEnd);
}