如果给出一个链表,那么我们必须进行操作,即使索引节点排列在一起,奇数索引节点也会在索引节点之后排列在一起。
以下链接列表1-->2-->3-->4-->5-->6
应输出:
2-->4-->6-->1-->3-->5
答案 0 :(得分:0)
我们说这是你的清单:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/viewTop"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_alignParentTop="true"/>
<View
android:id="@+id/viewMiddle"
android:layout_above="@id/viewBottom"
android:layout_below="@id/viewTop"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<LinearLayout
android:id="@+id/viewBottom"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_alignParentBottom="true">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="50"/>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="50"/>
</LinearLayout>
</RelativeLayout>
首先,您需要将typedef struct node {
int val;
struct node * next;
} node_t;
分配给列表的pointer
,如下所示:
head
然后使用node_t * head = NULL;
head = malloc(sizeof(node_t));
循环:
for
请注意,此代码仅打印。它不会改变你的清单。
答案 1 :(得分:0)
node_t *cursor = input_list;
while(cursor) {
if(cursor->value % 2 == 0)
append(output_list, cursor->value)
cursor = cursor->next;
}
cursor = input_list;
while(cursor) {
if(cursor->value % 2 == 1)
append(output_list, cursor->value)
cursor = cursor->next;
}