我正在尝试在c中编写代码以删除单链表中的重复项。我这样做是先通过动态分配插入数字,然后对列表进行排序,最后删除重复数据。
代码适用于所有情况,除非最后一个数字本身是重复的,否则最后一个数字不会被排序,因此不会被删除。
以下是我的代码,在它显示的输出下方。
foodDetail.putExtra("FoodId", adapter.getItem(position).getFoodId());
foodDetail.putExtra("CategoryID", adapter.getItem(position).getMenuId());
输出:
private void setupSlider() {
mslider = findViewById(R.id.slider);
HashMap<String,String>image_list = new HashMap<>();
final DatabaseReference ref_banner = db.getReference("Banner");
ref_banner.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapShot : dataSnapshot.getChildren()) {
Banner banner = postSnapShot.getValue(Banner.class);
//gonna concat string name and id like
//PİZZA_01 => and gonna use PİZZA show description , 01 for food id to click
image_list.put(banner.getName() + "@@@" + banner.getFoodId(), banner.getImage());
}
for (String key : image_list.keySet()) {
String[] keySplit = key.split("@@@");
String nameOfFood = keySplit[0];
String idOfFood = keySplit[1];
//Create Slider
final TextSliderView textSliderView = new TextSliderView(getBaseContext());
textSliderView.description(nameOfFood)
.image(image_list.get(key))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
Intent intent = new Intent(Home.this, FoodDetail.class);
intent.putExtras(textSliderView.getBundle());
startActivity(intent);
}
});
//add extra bundle
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString( "FoodId", idOfFood);
Picasso picasso = Picasso.get();
textSliderView.setPicasso(picasso);
mslider.addSlider(textSliderView);
//remove event after finish
ref_banner.removeEventListener(this);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
mslider.setPresetTransformer(SliderLayout.Transformer.Background2Foreground);
mslider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
mslider.setCustomAnimation(new DescriptionAnimation());
mslider.setDuration(3000);
}
答案 0 :(得分:0)
改变这个:
cur->rear!=NULL
到此:
cur!=NULL
并为next
和nxt
执行相同操作。
PS:你应该真正了解使用功能。例如,检查此listmanagement.c,了解构建列表时如何使用函数。